[Committed] S/390: Move binary start to 16M.

Andreas Krebbel krebbel@linux.vnet.ibm.com
Mon Oct 10 15:10:00 GMT 2016


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.
---
 ld/ChangeLog                      | 6 ++++++
 ld/emulparams/elf64_s390.sh       | 2 +-
 ld/testsuite/ld-s390/tlsbin_64.dd | 3 +--
 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
-- 
2.9.1



More information about the Binutils mailing list