diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-08-01 15:13:40 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-08-01 15:13:40 +0200 |
commit | 1ef692ea23714876cc30b1a3ab3ef33a1369f17a (patch) | |
tree | 658d91e8f9a4a1b59fa079d70aead2ac3fbcd500 /bfd/elf32-s390.c | |
parent | 4d36230d59903b92fbe2b53b31ed64a884860f0e (diff) | |
download | gdb-1ef692ea23714876cc30b1a3ab3ef33a1369f17a.zip gdb-1ef692ea23714876cc30b1a3ab3ef33a1369f17a.tar.gz gdb-1ef692ea23714876cc30b1a3ab3ef33a1369f17a.tar.bz2 |
S/390: Fix claimfile failures
This fixes a segfault when trying to access the local_plt field in the
s390 specific elf data althoug the underlaying object is a generic elf
object.
This fixes the following testsuite failures:
< FAIL: plugin claimfile replace symbol with source
< FAIL: plugin claimfile resolve symbol with source
< FAIL: plugin claimfile replace file with source
< FAIL: plugin set symbol visibility with source
< FAIL: plugin ignore lib with source
< FAIL: plugin claimfile replace lib with source
< FAIL: plugin 2 with source lib
< FAIL: load plugin 2 with source
< FAIL: plugin 3 with source lib
< FAIL: load plugin 3 with source
bfd/ChangeLog:
2017-08-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
isn't the S/390 specific elf data.
* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
Diffstat (limited to 'bfd/elf32-s390.c')
-rw-r--r-- | bfd/elf32-s390.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 95682b6..91853ef 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -4001,6 +4001,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd, symtab_hdr = &elf_symtab_hdr (ibfd); + if (!is_s390_elf (ibfd)) + continue; + local_plt = elf_s390_local_plt (ibfd); if (local_plt != NULL) for (i = 0; i < symtab_hdr->sh_info; i++) |