mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
e6213e09ed
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. |
||
---|---|---|
.. | ||
gotreloc_31-1.dd | ||
gotreloc_64-norelro-1.dd | ||
gotreloc_64-relro-1.dd | ||
gotreloc-1.s | ||
gotreloc-1.ver | ||
pltoffset-1.dd | ||
pltoffset-1.ld | ||
pltoffset-1.s | ||
s390.exp | ||
tlsbin_64.dd | ||
tlsbin_64.rd | ||
tlsbin_64.s | ||
tlsbin_64.sd | ||
tlsbin_64.td | ||
tlsbin.dd | ||
tlsbin.rd | ||
tlsbin.s | ||
tlsbin.sd | ||
tlsbin.td | ||
tlsbinpic_64.s | ||
tlsbinpic.s | ||
tlslib_64.s | ||
tlslib.s | ||
tlspic1_64.s | ||
tlspic1.s | ||
tlspic2_64.s | ||
tlspic2.s | ||
tlspic_64.dd | ||
tlspic_64.rd | ||
tlspic_64.sd | ||
tlspic_64.td | ||
tlspic.dd | ||
tlspic.rd | ||
tlspic.sd | ||
tlspic.td |