From a0d47f487fe250c63cc21e9608b85bc02dc2a006 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Tue, 6 Sep 2016 14:44:15 +0200 Subject: S390: Support PLT and GOT references in check-localplt. on s390x the test elf/check-localplt is failing after recent commits: "elf: Do not use memalign for TCB/TLS blocks allocation [BZ #17730]" "elf: Avoid using memalign for TLS allocations [BZ #17730]" "elf: dl-minimal malloc needs to respect fundamental alignment" due to "Missing required PLT reference: ld.so: __libc_memalign". After the commits __libc_memalign is only called in elf/dl-minimal.c in malloc() function in ld.so and gcc -O2/-O3 leads to R_390_GLOB_DAT instead of R_390_JMP_SLOT. __libc_memalign is called via function-pointer loaded from GOT instead of calling via a plt-stub. In this case there is the R_390_GLOB_DAT relocation in section .rela.dyn instead of R_390_JMP_SLOT in .rela.plt. This patch marks ld.so: __libc_memalign with R_390_GLOB_DAT in localplt.data to allow both relocations. If build with -fno-optimize-sibling-calls or on s390(31bit) a R_390_JMP_SLOT is generated. ChangeLog: * sysdeps/unix/sysv/linux/s390/localplt.data: Mark ld.so: __libc_memalign with "+ RELA R_390_GLOB_DAT". --- ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 73c9073ee2..d74100f2bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-09-06 Stefan Liebler + + * sysdeps/unix/sysv/linux/s390/localplt.data: Mark ld.so: + __libc_memalign with "+ RELA R_390_GLOB_DAT". + 2016-09-06 Florian Weimer Convert malloc to __libc_lock. Automated part, using this Perl -- cgit 1.4.1