mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-10 14:59:31 +08:00
bfd/elf32-arm.c: Improve comment in elf32_arm_finish_dynamic_symbol
Improve the comment discussing why we clear st_value for some symbols. bfd/ChangeLog: 2015-02-03 Will Newton <will.newton@linaro.org> * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve comment discussing why we clear st_value for some symbols.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2015-02-03 Will Newton <will.newton@linaro.org>
|
||||||
|
|
||||||
|
* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
|
||||||
|
comment discussing why we clear st_value for some symbols.
|
||||||
|
|
||||||
2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||||||
|
|
||||||
* elf32-nds32.c (nds32_get_section_contents): Add one more argument.
|
* elf32-nds32.c (nds32_get_section_contents): Add one more argument.
|
||||||
|
@ -14238,12 +14238,16 @@ elf32_arm_finish_dynamic_symbol (bfd * output_bfd,
|
|||||||
if (!h->def_regular)
|
if (!h->def_regular)
|
||||||
{
|
{
|
||||||
/* Mark the symbol as undefined, rather than as defined in
|
/* Mark the symbol as undefined, rather than as defined in
|
||||||
the .plt section. Leave the value alone. */
|
the .plt section. */
|
||||||
sym->st_shndx = SHN_UNDEF;
|
sym->st_shndx = SHN_UNDEF;
|
||||||
/* If the symbol is weak, we do need to clear the value.
|
/* If the symbol is weak we need to clear the value.
|
||||||
Otherwise, the PLT entry would provide a definition for
|
Otherwise, the PLT entry would provide a definition for
|
||||||
the symbol even if the symbol wasn't defined anywhere,
|
the symbol even if the symbol wasn't defined anywhere,
|
||||||
and so the symbol would never be NULL. */
|
and so the symbol would never be NULL. Leave the value if
|
||||||
|
there were any relocations where pointer equality matters
|
||||||
|
(this is a clue for the dynamic linker, to make function
|
||||||
|
pointer comparisons work between an application and shared
|
||||||
|
library). */
|
||||||
if (!h->ref_regular_nonweak || !h->pointer_equality_needed)
|
if (!h->ref_regular_nonweak || !h->pointer_equality_needed)
|
||||||
sym->st_value = 0;
|
sym->st_value = 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user