* gold/incremental.cc
(Output_section_incremental_inputs::write_info_blocks): Check for hidden and internal symbols.
This commit is contained in:
parent
e3d961fe96
commit
f48b5fb76b
@ -1,3 +1,9 @@
|
||||
2011-07-06 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* gold/incremental.cc
|
||||
(Output_section_incremental_inputs::write_info_blocks): Check for
|
||||
hidden and internal symbols.
|
||||
|
||||
2011-07-06 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* incremental.cc (Sized_incremental_binary::do_file_has_changed):
|
||||
|
@ -1669,9 +1669,15 @@ Output_section_incremental_inputs<size, big_endian>::write_info_blocks(
|
||||
if (sym->symtab_index() == -1U)
|
||||
continue;
|
||||
unsigned int flags = 0;
|
||||
if (sym->source() == Symbol::FROM_OBJECT
|
||||
&& sym->object() == obj
|
||||
&& sym->is_defined())
|
||||
// If the symbol has hidden or internal visibility, we
|
||||
// mark it as defined in the shared object so we don't
|
||||
// try to resolve it during an incremental update.
|
||||
if (sym->visibility() == elfcpp::STV_HIDDEN
|
||||
|| sym->visibility() == elfcpp::STV_INTERNAL)
|
||||
flags = INCREMENTAL_SHLIB_SYM_DEF;
|
||||
else if (sym->source() == Symbol::FROM_OBJECT
|
||||
&& sym->object() == obj
|
||||
&& sym->is_defined())
|
||||
flags = INCREMENTAL_SHLIB_SYM_DEF;
|
||||
else if (sym->is_copied_from_dynobj()
|
||||
&& this->symtab_->get_copy_source(sym) == dynobj)
|
||||
|
Loading…
Reference in New Issue
Block a user