diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2018-09-17 11:01:24 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.ibm.com> | 2018-09-17 11:01:24 +0200 |
commit | e6213e09ed0ef6ee40d00981c38baac6964aa95b (patch) | |
tree | ca32212da5f51751ecf178dd17e5b271ed87224d /gdb | |
parent | cb5248409d7a5a10748c2aa70824ecddf2f913d5 (diff) | |
download | fsf-binutils-gdb-e6213e09ed0ef6ee40d00981c38baac6964aa95b.zip fsf-binutils-gdb-e6213e09ed0ef6ee40d00981c38baac6964aa95b.tar.gz fsf-binutils-gdb-e6213e09ed0ef6ee40d00981c38baac6964aa95b.tar.bz2 |
S/390: Prevent GOT access rewrite for certain symbols
When dereferencing a GOT slot with lgrl or lg we rewrite this using
larl to get rid of the extra memory access. However, we cannot do
this for:
- symbols marked for absolute addressing
- symbols at odd addresses (larl can handle only even addresses)
Fixed with the attached patch.
bfd/ChangeLog:
2018-09-17 Andreas Krebbel <krebbel@linux.ibm.com>
* elf64-s390.c (elf_s390_relocate_section): Prevent rewriting of
GOT accesses with larl for ABS or misaligned symbols.
ld/ChangeLog:
2018-09-17 Andreas Krebbel <krebbel@linux.ibm.com>
* testsuite/ld-s390/gotreloc-1.s: Add tests for ABS and misaligned
symbol. Move variables into data section. Make bar 8 bytes wide.
* testsuite/ld-s390/gotreloc-1.ver: Make misaligned_sym resolve locally.
* testsuite/ld-s390/gotreloc_31-1.dd: Adjust patterns.
* testsuite/ld-s390/gotreloc_64-norelro-1.dd: Likewise.
* testsuite/ld-s390/gotreloc_64-relro-1.dd: Likewise.
Diffstat (limited to 'gdb')
0 files changed, 0 insertions, 0 deletions