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.
This commit is contained in:
parent
da76f7d33f
commit
ef05be83b7
3 changed files with 19 additions and 9 deletions
|
@ -1,3 +1,10 @@
|
|||
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.
|
||||
|
||||
2015-10-11 John David Anglin <danglin@gcc.gnu.org>
|
||||
|
||||
* elf-hppa.h (elf_hppa_action_discarded): Ignore relocations in
|
||||
|
|
|
@ -1527,6 +1527,12 @@ elf_s390_gc_sweep_hook (bfd *abfd,
|
|||
elf_s390_hash_table (info)->tls_ldm_got.refcount -= 1;
|
||||
break;
|
||||
|
||||
case R_390_GOTOFF16:
|
||||
case R_390_GOTOFF32:
|
||||
case R_390_GOTPC:
|
||||
case R_390_GOTPCDBL:
|
||||
break;
|
||||
|
||||
case R_390_TLS_GD32:
|
||||
case R_390_TLS_IE32:
|
||||
case R_390_TLS_GOTIE12:
|
||||
|
@ -1537,10 +1543,6 @@ elf_s390_gc_sweep_hook (bfd *abfd,
|
|||
case R_390_GOT16:
|
||||
case R_390_GOT20:
|
||||
case R_390_GOT32:
|
||||
case R_390_GOTOFF16:
|
||||
case R_390_GOTOFF32:
|
||||
case R_390_GOTPC:
|
||||
case R_390_GOTPCDBL:
|
||||
case R_390_GOTENT:
|
||||
if (h != NULL)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue