diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-10-10 17:09:03 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-10-10 17:09:03 +0200 |
commit | 82057c771e4338fd47d1ce570f29040186c51f9b (patch) | |
tree | ccabc885ee90b0bf3f82871b53bce50f54fbf584 /ld | |
parent | 668df12dd33d946d2c8dc2084e8a928d1184b2cb (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | ld/emulparams/elf64_s390.sh | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.dd | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.rd | 4 |
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 |