[PATCH] S/390: Prevent GOT access rewrite for certain symbols

Andreas Krebbel krebbel@linux.vnet.ibm.com
Mon Sep 17 09:10:00 GMT 2018


On 13.09.2018 18:19, Andreas Krebbel wrote:
> From: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
> 
> 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-13  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-13  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.

Pushed to mainline. No testsuite regressions.

Andreas



More information about the Binutils mailing list