diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-10-12 10:21:51 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-10-12 10:22:49 +0200 |
commit | ef05be83b7e1e10e7cba51aeafc879ca3a66826d (patch) | |
tree | 323e087992b5a98f13c8e38f03a165f2c4602d88 /bfd/elf64-s390.c | |
parent | da76f7d33ffb3725dadd828f61427f421d1f6ac3 (diff) | |
download | binutils-ef05be83b7e1e10e7cba51aeafc879ca3a66826d.zip binutils-ef05be83b7e1e10e7cba51aeafc879ca3a66826d.tar.gz binutils-ef05be83b7e1e10e7cba51aeafc879ca3a66826d.tar.bz2 |
PR19083 S/390: Fix garbage collection of some GOT relocs.
bfd/ChangeLog:
2015-10-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR ld/19083
* elf32-s390.c (elf_s390_gc_sweep_hook): Do not reduce got
refcount for relocs not really requiring a got slot.
* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
Diffstat (limited to 'bfd/elf64-s390.c')
-rw-r--r-- | bfd/elf64-s390.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 1c37699..7cc0489 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -1462,6 +1462,12 @@ elf_s390_gc_sweep_hook (bfd *abfd, if (htab->tls_ldm_got.refcount > 0) htab->tls_ldm_got.refcount -= 1; break; + case R_390_GOTOFF16: + case R_390_GOTOFF32: + case R_390_GOTOFF64: + case R_390_GOTPC: + case R_390_GOTPCDBL: + break; case R_390_TLS_GD64: case R_390_TLS_IE64: @@ -1474,11 +1480,6 @@ elf_s390_gc_sweep_hook (bfd *abfd, case R_390_GOT20: case R_390_GOT32: case R_390_GOT64: - case R_390_GOTOFF16: - case R_390_GOTOFF32: - case R_390_GOTOFF64: - case R_390_GOTPC: - case R_390_GOTPCDBL: case R_390_GOTENT: if (h != NULL) { |