From 5a12586d44fa8d5dfc74cbca4f2f36a273a16335 Mon Sep 17 00:00:00 2001 From: Maamoun Tarsha Date: Mon, 14 Jan 2019 16:00:14 +0000 Subject: Add support to GNU ld to separate got related plt entries from normal ones in order to be able to switch the non-plt got entries to read-only after startup, conforming to revised Linux for zSeries ABI. PR 20133 * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. * testsuite/ld-s390/tlsbin.dd: Likewise. * testsuite/ld-s390/tlsbin.rd: Likewise. * testsuite/ld-s390/tlsbin.sd: Likewise. * testsuite/ld-s390/tlsbin_64.dd: Likewise. * testsuite/ld-s390/tlsbin_64.rd: Likewise. * testsuite/ld-s390/tlsbin_64.sd: Likewise. * testsuite/ld-s390/tlspic.dd: Likewise. * testsuite/ld-s390/tlspic.rd: Likewise. * testsuite/ld-s390/tlspic.sd: Likewise. * testsuite/ld-s390/tlspic_64.dd: Likewise. * testsuite/ld-s390/tlspic_64.rd: Likewise. * testsuite/ld-s390/tlspic_64.sd: Likewise. * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. --- ld/testsuite/ld-s390/tlsbin.dd | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'ld/testsuite/ld-s390/tlsbin.dd') diff --git a/ld/testsuite/ld-s390/tlsbin.dd b/ld/testsuite/ld-s390/tlsbin.dd index 677357c..4d992c4 100644 --- a/ld/testsuite/ld-s390/tlsbin.dd +++ b/ld/testsuite/ld-s390/tlsbin.dd @@ -27,9 +27,9 @@ Disassembly of section .text: # __tls_get_addr@plt-.LT1 +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # sG1@tlsgd - +[0-9a-f]+: 00 00 00 28 .long 0x00000028 + +[0-9a-f]+: 00 00 00 18 .long 0x00000018 # sG2@tlsgd - +[0-9a-f]+: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 10 .long 0x00000010 # sg1@tlsgd +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@tlsgd @@ -49,7 +49,7 @@ Disassembly of section .text: # sh2@dtpoff +[0-9a-f]+: ff ff ff a4 .long 0xffffffa4 # sG2@gotntpoff - +[0-9a-f]+: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 10 .long 0x00000010 # sg1@gotntpoff +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@gotntpoff @@ -122,17 +122,17 @@ Disassembly of section .text: +[0-9a-f]+: 07 00 nopr +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against global var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 14 l %r3,20\(%r12\) + +[0-9a-f]+: 58 30 c0 04 l %r3,4\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against global var defined in exec with small got access # (no optimization) - +[0-9a-f]+: 58 30 c0 18 l %r3,24\(%r12\) + +[0-9a-f]+: 58 30 c0 08 l %r3,8\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against local var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 10 l %r3,16\(%r12\) + +[0-9a-f]+: 58 30 c0 00 l %r3,0\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 1c l %r3,28\(%r12\) + +[0-9a-f]+: 58 30 c0 0c l %r3,12\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # function epilog +[0-9a-f]+: 98 6e f0 78 lm %r6,%r14,120\(%r15\) @@ -151,7 +151,7 @@ Disassembly of section .text: +[0-9a-f]+: 90 6e f0 18 stm %r6,%r14,24\(%r15\) +[0-9a-f]+: a7 d5 00 0c bras %r13,[0-9a-f]+ <_start\+0x1c> # sG6@indntpoff - +[0-9a-f]+: 00 40 15 64 .long 0x00401564 + +[0-9a-f]+: 00 40 15 54 .long 0x00401554 # bg6@indntpoff +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 # bl6@indntpoff -- cgit v1.1