This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] S/390: Prevent GOT access rewrite for certain symbols
- From: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- To: binutils at sourceware dot org
- Date: Mon, 17 Sep 2018 11:09:27 +0200
- Subject: Re: [PATCH] S/390: Prevent GOT access rewrite for certain symbols
- References: <1536855587-12025-1-git-send-email-krebbel@linux.ibm.com>
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