aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-10-10 17:09:03 +0200
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-10-10 17:09:03 +0200
commit82057c771e4338fd47d1ce570f29040186c51f9b (patch)
treeccabc885ee90b0bf3f82871b53bce50f54fbf584 /ld
parent668df12dd33d946d2c8dc2084e8a928d1184b2cb (diff)
downloadgdb-82057c771e4338fd47d1ce570f29040186c51f9b.zip
gdb-82057c771e4338fd47d1ce570f29040186c51f9b.tar.gz
gdb-82057c771e4338fd47d1ce570f29040186c51f9b.tar.bz2
S/390: Move binary start to 16M.
Turned out that by moving the binary start to 256M I've hit a case with potentially a lot of aliasing in the branch target buffer between binaries and shared libs. So moving on. Tested on s390x. No regressions. ld/ChangeLog: 2016-10-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * emulparams/elf64_s390.sh: Move binary start to 16M. * testsuite/ld-s390/tlsbin_64.dd: Adjust testcases accordingly. * testsuite/ld-s390/tlsbin_64.rd: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/emulparams/elf64_s390.sh2
-rw-r--r--ld/testsuite/ld-s390/tlsbin_64.dd3
-rw-r--r--ld/testsuite/ld-s390/tlsbin_64.rd4
4 files changed, 10 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 6fb93bc..4cfe874 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2016-10-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * emulparams/elf64_s390.sh: Move binary start to 16M.
+ * testsuite/ld-s390/tlsbin_64.dd: Adjust testcases accordingly.
+ * testsuite/ld-s390/tlsbin_64.rd: Likewise.
+
2016-10-07 Alan Modra <amodra@gmail.com>
* ldexp.c (MAX): Define.
diff --git a/ld/emulparams/elf64_s390.sh b/ld/emulparams/elf64_s390.sh
index 3fcbbca..fc9f06a 100644
--- a/ld/emulparams/elf64_s390.sh
+++ b/ld/emulparams/elf64_s390.sh
@@ -2,7 +2,7 @@ SCRIPT_NAME=elf
ELFSIZE=64
OUTPUT_FORMAT="elf64-s390"
NO_REL_RELOCS=yes
-TEXT_START_ADDR=0x10000000
+TEXT_START_ADDR=0x1000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
ARCH="s390:64-bit"
diff --git a/ld/testsuite/ld-s390/tlsbin_64.dd b/ld/testsuite/ld-s390/tlsbin_64.dd
index 66e4d11..eac7f41 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.dd
+++ b/ld/testsuite/ld-s390/tlsbin_64.dd
@@ -177,8 +177,7 @@ Disassembly of section .text:
+[0-9a-f]+: a7 d5 00 16 bras %r13,[0-9a-f]+ <_start\+0x30>
# sG6@indntpoff
+[0-9a-f]+: 00 00 00 00 .long 0x00000000
- +[0-9a-f]+: 10 00 lpr %r0,%r0
- +[0-9a-f]+: [0-9a-f ]+ lr %r9,%r8
+ +[0-9a-f]+: 01 00 18 98 .long 0x01001898
# bg6@indntpoff
+[0-9a-f]+: ff ff ff ff .long 0xffffffff
+[0-9a-f]+: ff ff ff d4 .long 0xffffffd4
diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd
index 4aee7ec..5fcb4ba 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.rd
+++ b/ld/testsuite/ld-s390/tlsbin_64.rd
@@ -34,8 +34,8 @@ There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
+Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
- +PHDR +0x0+40 0x0+10000040 0x0+10000040 0x0+150 0x0+150 R E 0x8
- +INTERP +0x0+190 0x0+10000190 0x0+10000190 0x0+f 0x0+f R +0x1
+ +PHDR +0x0+40 0x0+1000040 0x0+1000040 0x0+150 0x0+150 R E 0x8
+ +INTERP +0x0+190 0x0+1000190 0x0+1000190 0x0+f 0x0+f R +0x1
.*Requesting program interpreter.*
+LOAD .* R E 0x1000
+LOAD .* RW +0x1000