PR ld/6519
[platform/upstream/binutils.git] / ld / emulparams / elf64_sparc.sh
1 SCRIPT_NAME=elf
2 ELFSIZE=64
3 TEMPLATE_NAME=elf32
4 OUTPUT_FORMAT="elf64-sparc"
5 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
6 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
7 ARCH="sparc:v9"
8 MACHINE=
9 DATA_PLT=
10 GENERATE_SHLIB_SCRIPT=yes
11 GENERATE_PIE_SCRIPT=yes
12 NOP=0x01000000
13 NO_SMALL_DATA=yes
14
15 case "$target" in
16   sparc*-solaris*)
17     TEXT_START_ADDR=0x100000000
18     ;;
19   *)
20     TEXT_START_ADDR=0x100000
21     ;;
22 esac
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.
26 if 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
33 fi
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.
40 case "$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     ;;
49 esac