* 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
2 changed files with 15 additions and 3 deletions
|
@ -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>
|
2011-07-06 Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
* incremental.cc (Sized_incremental_binary::do_file_has_changed):
|
* incremental.cc (Sized_incremental_binary::do_file_has_changed):
|
||||||
|
|
|
@ -1669,7 +1669,13 @@ Output_section_incremental_inputs<size, big_endian>::write_info_blocks(
|
||||||
if (sym->symtab_index() == -1U)
|
if (sym->symtab_index() == -1U)
|
||||||
continue;
|
continue;
|
||||||
unsigned int flags = 0;
|
unsigned int flags = 0;
|
||||||
if (sym->source() == Symbol::FROM_OBJECT
|
// 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->object() == obj
|
||||||
&& sym->is_defined())
|
&& sym->is_defined())
|
||||||
flags = INCREMENTAL_SHLIB_SYM_DEF;
|
flags = INCREMENTAL_SHLIB_SYM_DEF;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue