mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-27 03:42:56 +08:00
[ARC] Reassign the symbol got information to actual symbol when indirect.
GOT information would not be reassign to symbol when it became a indect symbol. bfd/ChangeLog: Cupertino Miranda <cmiranda@synopsys.com> * elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect symbols.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
|
||||||
|
|
||||||
|
* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
|
||||||
|
symbols.
|
||||||
|
|
||||||
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
|
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
|
||||||
|
|
||||||
* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
|
* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
|
||||||
|
@ -1588,7 +1588,12 @@ elf_arc_relocate_section (bfd * output_bfd,
|
|||||||
|
|
||||||
while (h->root.type == bfd_link_hash_indirect
|
while (h->root.type == bfd_link_hash_indirect
|
||||||
|| h->root.type == bfd_link_hash_warning)
|
|| h->root.type == bfd_link_hash_warning)
|
||||||
|
{
|
||||||
|
struct elf_link_hash_entry *h_old = h;
|
||||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||||
|
if (h->got.glist == 0 && h_old->got.glist != h->got.glist)
|
||||||
|
h->got.glist = h_old->got.glist;
|
||||||
|
}
|
||||||
|
|
||||||
/* TODO: Need to validate what was the intention. */
|
/* TODO: Need to validate what was the intention. */
|
||||||
/* BFD_ASSERT ((h->dynindx == -1) || (h->forced_local != 0)); */
|
/* BFD_ASSERT ((h->dynindx == -1) || (h->forced_local != 0)); */
|
||||||
|
Reference in New Issue
Block a user