82057c771e
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.
37 lines
818 B
Bash
37 lines
818 B
Bash
SCRIPT_NAME=elf
|
|
ELFSIZE=64
|
|
OUTPUT_FORMAT="elf64-s390"
|
|
NO_REL_RELOCS=yes
|
|
TEXT_START_ADDR=0x1000000
|
|
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
|
|
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
|
ARCH="s390:64-bit"
|
|
MACHINE=
|
|
NOP=0x07070707
|
|
TEMPLATE_NAME=elf32
|
|
GENERATE_SHLIB_SCRIPT=yes
|
|
GENERATE_PIE_SCRIPT=yes
|
|
NO_SMALL_DATA=yes
|
|
IREL_IN_PLT=
|
|
|
|
# Treat a host that matches the target with the possible exception of "x"
|
|
# in the name as if it were native.
|
|
if test `echo "$host" | sed -e s/390x/390/` \
|
|
= `echo "$target" | sed -e s/390x/390/`; then
|
|
case " $EMULATION_LIBPATH " in
|
|
*" ${EMULATION_NAME} "*)
|
|
NATIVE=yes
|
|
esac
|
|
fi
|
|
|
|
# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
|
|
# on Linux.
|
|
case "$target" in
|
|
s390*-linux*)
|
|
case "$EMULATION_NAME" in
|
|
*64*)
|
|
LIBPATH_SUFFIX=64 ;;
|
|
esac
|
|
;;
|
|
esac
|