old-cross-binutils/ld/emulparams/elf64_sparc.sh
H.J. Lu 484593416a 2001-11-27 H.J. Lu <hjl@gnu.org>
* emulparams/elf_i386.sh (NO_SMALL_DATA): Set to yes.
	* emulparams/elf_i386_be.sh (NO_SMALL_DATA): Likewise.
	* emulparams/elf_i386_chaos.sh (NO_SMALL_DATA): Likewise.
	* emulparams/elf_i386_ldso.sh (NO_SMALL_DATA): Likewise.
	* emulparams/elf_x86_64.sh (NO_SMALL_DATA): Likewise.
	* emulparams/m68kelf.sh (NO_SMALL_DATA): Likewise.
	* emulparams/elf32_sparc.sh (NO_SMALL_DATA): Likewise.
	* emulparams/elf64_sparc.sh (NO_SMALL_DATA): Likewise.

	* scripttempl/elf.sc (SBSS): New. Define if ${NO_SMALL_DATA}
	is not empty.
	(SDATA): Likewise.
	(REL_SDATA): Likewise.
	(REL_SBSS): Likewise.
	(REL_SDATA2): Likewise.
	(REL_SBSS2): Likewise.
	(SBSS2): Define if ${NO_SMALL_DATA} is not empty.
	(SDATA2): Likewise.
2001-11-27 19:06:07 +00:00

56 lines
1.3 KiB
Bash

SCRIPT_NAME=elf
ELFSIZE=64
TEMPLATE_NAME=elf32
OUTPUT_FORMAT="elf64-sparc"
MAXPAGESIZE=0x100000
ARCH="sparc:v9"
MACHINE=
DATA_PLT=
GENERATE_SHLIB_SCRIPT=yes
NOP=0x01000000
NO_SMALL_DATA=yes
case "$target" in
sparc*-solaris*)
TEXT_START_ADDR=0x100000000
NONPAGED_TEXT_START_ADDR=0x100000000
;;
*)
TEXT_START_ADDR=0x100000
NONPAGED_TEXT_START_ADDR=0x100000
;;
esac
if [ "x${host}" = "x${target}" ]; then
case " $EMULATION_LIBPATH " in
*" ${EMULATION_NAME} "*)
# Native, and default or emulation requesting LIB_PATH.
# Linux and Solaris modify the default library search path
# to first include a 64-bit specific directory. It's put
# in slightly different places on the two systems.
case "$target" in
sparc*-linux*)
suffix=64 ;;
sparc*-solaris*)
suffix=/sparcv9 ;;
esac
if [ -n "${suffix}" ]; then
LIB_PATH=/lib${suffix}:/lib
LIB_PATH=${LIB_PATH}:/usr/lib${suffix}:/usr/lib
if [ -n "${NATIVE_LIB_DIRS}" ]; then
LIB_PATH=${LIB_PATH}:`echo ${NATIVE_LIB_DIRS} | sed s_:_${suffix}:_g`${suffix}:${NATIVE_LIB_DIRS}
fi
if [ "${libdir}" != /usr/lib ]; then
LIB_PATH=${LIB_PATH}:${libdir}${suffix}:${libdir}
fi
if [ "${libdir}" != /usr/local/lib ]; then
LIB_PATH=${LIB_PATH}:/usr/local/lib${suffix}:/usr/local/lib
fi
fi
;;
esac
fi