xref: /netbsd-src/external/gpl3/binutils/dist/ld/emulparams/elf64_sparc.sh (revision de4fa6c51a9708fc05f88b618fa6fad87c9508ec)
1SCRIPT_NAME=elf
2ELFSIZE=64
3TEMPLATE_NAME=elf32
4OUTPUT_FORMAT="elf64-sparc"
5MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
6COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
7ARCH="sparc:v9"
8MACHINE=
9DATA_PLT=
10GENERATE_SHLIB_SCRIPT=yes
11GENERATE_PIE_SCRIPT=yes
12NOP=0x01000000
13NO_SMALL_DATA=yes
14
15case "$target" in
16  sparc*-solaris*)
17    TEXT_START_ADDR=0x100000000
18    ;;
19  *)
20    TEXT_START_ADDR=0x100000
21    ;;
22esac
23
24# Treat a host that matches the target with the possible exception of "64"
25# and "v7", "v8", "v9" in the name as if it were native.
26if test `echo "$host" | sed -e 's/64//;s/v[789]//'` \
27 = `echo "$target" | sed -e 's/64//;s/v[789]//'`; then
28  case " $EMULATION_LIBPATH " in
29    *" ${EMULATION_NAME} "*)
30      NATIVE=yes
31      ;;
32  esac
33fi
34
35# Linux and Solaris modify the default library search path
36# to first include a 64-bit specific directory.  It's put
37# in slightly different places on the two systems.
38# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
39# on Linux and /lib/sparcv9, /usr/lib/sparcv9 etc. on Solaris.
40case "$EMULATION_NAME" in
41  *64*)
42    case "$target" in
43      sparc*-linux*)
44	LIBPATH_SUFFIX=64 ;;
45      sparc*-solaris*)
46	LIBPATH_SUFFIX=/sparcv9 ;;
47    esac
48    ;;
49esac
50