mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-20 15:03:31 +08:00
2010-02-18 Rafael Ávila de Espíndola <respindola@mozilla.com>
* symtab.cc (Symbol::should_add_dynsym_entry) Return false for plugin only symbols. (Symbol_table::sized_finalize_symbol) Mark symbol only present in plugin files as not needed in the symbol table.
This commit is contained in:
parent
13163d8050
commit
badc813953
@ -1,3 +1,10 @@
|
||||
2010-02-18 Rafael Ávila de Espíndola <respindola@mozilla.com>
|
||||
|
||||
* symtab.cc (Symbol::should_add_dynsym_entry) Return false for
|
||||
plugin only symbols.
|
||||
(Symbol_table::sized_finalize_symbol) Mark symbol only present
|
||||
in plugin files as not needed in the symbol table.
|
||||
|
||||
2011-02-11 Sriraman Tallam <tmsriram@google.com>
|
||||
|
||||
* output.cc (Output_section::add_input_section): Delay fill
|
||||
|
@ -310,6 +310,11 @@ Sized_symbol<size>::allocate_common(Output_data* od, Value_type value)
|
||||
inline bool
|
||||
Symbol::should_add_dynsym_entry(Symbol_table* symtab) const
|
||||
{
|
||||
// If the symbol is only present on plugin files, the plugin decided we
|
||||
// don't need it.
|
||||
if (!this->in_real_elf())
|
||||
return false;
|
||||
|
||||
// If the symbol is used by a dynamic relocation, we need to add it.
|
||||
if (this->needs_dynsym_entry())
|
||||
return true;
|
||||
@ -2593,6 +2598,15 @@ Symbol_table::sized_finalize_symbol(Symbol* unsized_sym)
|
||||
return false;
|
||||
}
|
||||
|
||||
// If the symbol is only present on plugin files, the plugin decided we
|
||||
// don't need it.
|
||||
if (!sym->in_real_elf())
|
||||
{
|
||||
gold_assert(!sym->has_symtab_index());
|
||||
sym->set_symtab_index(-1U);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Compute final symbol value.
|
||||
Compute_final_value_status status;
|
||||
Value_type value = this->compute_final_value(sym, &status);
|
||||
|
Loading…
Reference in New Issue
Block a user