]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/binutils/ld/emulparams/elf64_sparc.sh
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / binutils / 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     NONPAGED_TEXT_START_ADDR=0x100000000
19     ;;
20   *)
21     TEXT_START_ADDR=0x100000
22     NONPAGED_TEXT_START_ADDR=0x100000
23     ;;
24 esac
25
26 # Treat a host that matches the target with the possible exception of "64"
27 # and "v7", "v8", "v9" in the name as if it were native.
28 if test `echo "$host" | sed -e 's/64//;s/v[789]//'` \
29  = `echo "$target" | sed -e 's/64//;s/v[789]//'`; then
30   case " $EMULATION_LIBPATH " in
31     *" ${EMULATION_NAME} "*)
32       NATIVE=yes
33       ;;
34   esac
35 fi
36
37 # Linux and Solaris modify the default library search path
38 # to first include a 64-bit specific directory.  It's put
39 # in slightly different places on the two systems.
40 # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
41 # on Linux and /lib/sparcv9, /usr/lib/sparcv9 etc. on Solaris.
42 case "$EMULATION_NAME" in
43   *64*)
44     case "$target" in
45       sparc*-linux*)
46         LIBPATH_SUFFIX=64 ;;
47       sparc*-solaris*)
48         LIBPATH_SUFFIX=/sparcv9 ;;
49     esac
50     ;;
51 esac