[1/2] aarch64: Fix h->got union phase confusion for DT_RELR
Checks
| Context |
Check |
Description |
| linaro-tcwg-bot/tcwg_binutils_build--master-arm |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 |
success
|
Test passed
|
| linaro-tcwg-bot/tcwg_binutils_check--master-arm |
success
|
Test passed
|
Commit Message
record_relr_dyn_got_relocs is called after allocate_dynrelocs has
repurposed h->got from refcount to offset semantics. This goes
along with a change in indication for no GOT entry allocated from
h->got.refcount <= 0 to h->got.offset == (bfd_vma)-1.
bfd/
* elfnn-aarch64.c (record_relr_dyn_got_relocs): Fix h->got
union phase confusion.
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
bfd/elfnn-aarch64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -9246,7 +9246,7 @@ record_relr_dyn_got_relocs (struct elf_link_hash_entry *h, void *inf)
h = (struct elf_link_hash_entry *) h->root.u.i.link;
if (h->type == STT_GNU_IFUNC && h->def_regular)
return true;
- if (h->got.refcount <= 0)
+ if (h->got.offset == (bfd_vma) -1)
return true;
if (elf_aarch64_hash_entry (h)->got_type != GOT_NORMAL)
return true;