configure.tgt revision 130570
11556Srgrimes# This is the linker target specific file.  This is invoked by the
21556Srgrimes# autoconf generated configure script.  Putting it in a separate shell
31556Srgrimes# file lets us skip running autoconf when modifying target specific
41556Srgrimes# information.
51556Srgrimes
61556Srgrimes# This file switches on the shell variable ${targ}, and sets the
71556Srgrimes# following shell variables:
81556Srgrimes#  targ_emul		name of linker emulation to use
91556Srgrimes#  targ_extra_emuls	additional linker emulations to provide
101556Srgrimes#  targ_extra_libpath	additional linker emulations using LIB_PATH
111556Srgrimes#  targ_extra_ofiles	additional objects needed by the emulation
121556Srgrimes#  NATIVE_LIB_DIRS	library directories to search on this host
131556Srgrimes#			(if we are a native or sysrooted linker)
141556Srgrimes
151556Srgrimestarg_extra_emuls=
161556Srgrimestarg_extra_ofiles=
171556Srgrimes
181556Srgrimescase "${targ}" in
191556Srgrimesam33_2.0-*-linux*)	targ_emul=elf32am33lin ;;
201556Srgrimesarm-epoc-pe)		targ_emul=arm_epoc_pe ;
211556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
221556Srgrimesarm-*-wince)		targ_emul=armpe ;
231556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
241556Srgrimesarm-*-pe)		targ_emul=armpe ;
251556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
261556Srgrimesarc-*-elf*)		targ_emul=arcelf ;;
271556Srgrimesavr-*-*)		targ_emul=avr2
281556Srgrimes			targ_extra_emuls="avr1 avr3 avr4 avr5" ;;
291556Srgrimescris-*-*aout*)		targ_emul=crisaout
301556Srgrimes			targ_extra_emuls="criself crislinux"
311556Srgrimes			targ_extra_libpath=$targ_extra_emuls ;;
321556Srgrimescris-*-linux-gnu*)	targ_emul=crislinux ;;
331556Srgrimescris-*-*)		targ_emul=criself
341556Srgrimes			targ_extra_emuls="crisaout crislinux"
353044Sdg			targ_extra_libpath=$targ_extra_emuls ;;
3617987Speterd10v-*-*)		targ_emul=d10velf ;;
371556Srgrimesd30v-*-*ext*)		targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;;
381556Srgrimesd30v-*-*onchip*)	targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;;
391556Srgrimesd30v-*-*)		targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" ;;
4017987Speterdlx-*-elf*)		targ_emul=elf32_dlx ;;
411556Srgrimessparc64-*-aout*)	targ_emul=sparcaout ;;
421556Srgrimessparc64-*-elf*)		targ_emul=elf64_sparc ;;
4317987Spetersparc-sun-sunos4*) 	targ_emul=sun4 ;;
4417987Spetersparclite*-*-elf)	targ_emul=elf32_sparc ;;
4517987Spetersparclite*-*-coff)	targ_emul=coff_sparc ;;
461556Srgrimessparclite*-fujitsu-*)	targ_emul=sparcaout ;;
471556Srgrimessparc*-*-aout)		targ_emul=sparcaout ;;
481556Srgrimessparc*-*-coff)		targ_emul=coff_sparc ;;
491556Srgrimessparc*-*-elf)		targ_emul=elf32_sparc ;;
5017525Sachesparc*-*-sysv4*)	targ_emul=elf32_sparc ;;
5117525Sachesparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu)
521556Srgrimes			targ_emul=elf64_sparc_fbsd
531556Srgrimes			targ_extra_emuls="elf64_sparc elf32_sparc"
541556Srgrimes			targ_extra_libpath=$targ_extra_emuls
551556Srgrimes			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
561556Srgrimes			;;
571556Srgrimessparc*-*-linux*aout*)	targ_emul=sparclinux
581556Srgrimes			targ_extra_emuls="elf32_sparc sun4"
591556Srgrimes			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
601556Srgrimes			tdir_sun4=sparc-sun-sunos4
6117562Sache			;;
621556Srgrimessparc64-*-linux-gnu*)	targ_emul=elf64_sparc
631556Srgrimes			targ_extra_emuls="elf32_sparc sparclinux sun4"
641556Srgrimes			targ_extra_libpath=elf32_sparc
651556Srgrimes			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
6617987Speter			tdir_sparclinux=${tdir_elf32_sparc}aout
6717987Speter			tdir_sun4=sparc-sun-sunos4
6817987Speter			;;
691556Srgrimessparc*-*-linux-gnu*)	targ_emul=elf32_sparc
701556Srgrimes			targ_extra_emuls="sparclinux elf64_sparc sun4"
711556Srgrimes			targ_extra_libpath=elf64_sparc
721556Srgrimes			tdir_sparclinux=${targ_alias}aout
731556Srgrimes			tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`
741556Srgrimes			tdir_sun4=sparc-sun-sunos4
751556Srgrimes			;;
761556Srgrimessparc*-*-lynxos*)	targ_emul=sparclynx ;;
771556Srgrimessparc64-*-netbsd* | sparc64-*-openbsd*)
781556Srgrimes			targ_emul=elf64_sparc
791556Srgrimes			targ_extra_emuls="elf32_sparc"
801556Srgrimes			;;
811556Srgrimessparc*-*-netbsd*elf*)	targ_emul=elf32_sparc ;;
821556Srgrimessparc*-*-netbsd*)	targ_emul=sparcnbsd ;;
831556Srgrimessparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
8417987Speter			targ_emul=elf32_sparc ;;
851556Srgrimessparc-*-solaris2*)	targ_emul=elf32_sparc
8617987Speter			targ_extra_emuls="elf64_sparc"
871556Srgrimes			targ_extra_libpath=$targ_extra_emuls
881556Srgrimes			tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`
891556Srgrimes			;;
901556Srgrimessparcv9-*-solaris2* | sparc64-*-solaris2*)
911556Srgrimes			targ_emul=elf64_sparc
921556Srgrimes			targ_extra_emuls="elf32_sparc"
931556Srgrimes			targ_extra_libpath=$targ_extra_emuls
941556Srgrimes			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
951556Srgrimes			;;
961556Srgrimessparc*-*-solaris2*)	targ_emul=elf32_sparc ;;
971556Srgrimessparc*-wrs-vxworks*)	targ_emul=sparcaout ;;
981556Srgrimessparc*-*-rtemsaout*)    targ_emul=sparcaout ;;
991556Srgrimessparc*-*-rtemself*)     targ_emul=elf32_sparc ;;
1001556Srgrimessparc*-*-rtems*)        targ_emul=elf32_sparc ;;
1011556Srgrimesi860-*-coff)		targ_emul=coff_i860 ;;
10217987Speteri860-stardent-sysv4* | i860-stardent-elf*)
1031556Srgrimes			targ_emul=elf32_i860 ;;
10417987Speteri960-wrs-vxworks5.0*)	targ_emul=gld960 ;;
1051556Srgrimesi960-wrs-vxworks5*)	targ_emul=gld960coff ;;
1061556Srgrimesi960-wrs-vxworks*)	targ_emul=gld960 ;;
1071556Srgrimesi960-*-coff)		targ_emul=gld960coff ;;
10817987Speteri960-intel-nindy)	targ_emul=gld960 ;;
1098855Srgrimesi960-*-rtems*)		targ_emul=gld960coff ;;
1101556Srgrimesi960-*-elf*)		targ_emul=elf32_i960 ;;
1111556Srgrimesia64-*-elf*)		targ_emul=elf64_ia64 ;;
1121556Srgrimesia64-*-freebsd* | ia64-*-kfreebsd*-gnu)
1131556Srgrimes		        targ_emul=elf64_ia64_fbsd
1141556Srgrimes			targ_extra_emuls="elf64_ia64" ;;
1151556Srgrimesia64-*-netbsd*)		targ_emul=elf64_ia64 ;;
1161556Srgrimesia64-*-linux*)		targ_emul=elf64_ia64 ;;
1171556Srgrimesia64-*-aix*)		targ_emul=elf64_aix ;;
1181556Srgrimesm32r*le-*-elf*)         targ_emul=m32rlelf ;;
1191556Srgrimesm32r*-*-elf*)           targ_emul=m32relf ;;
1201556Srgrimesm32r*le-*-linux-gnu*)   targ_emul=m32rlelf_linux ;;
1211556Srgrimesm32r*-*-linux-gnu*)     targ_emul=m32relf_linux ;;
1221556Srgrimesm68hc11-*-*|m6811-*-*)	targ_emul=m68hc11elf 
1231556Srgrimes			targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
12417525Sachem68hc12-*-*|m6812-*-*)	targ_emul=m68hc12elf 
1251556Srgrimes			targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;;
1261556Srgrimesm68*-sun-sunos[34]*)	targ_emul=sun3 ;;
1271556Srgrimesm68*-wrs-vxworks*)	targ_emul=sun3 ;;
1281556Srgrimesm68*-ericsson-ose)	targ_emul=sun3 ;;
1291556Srgrimesm68*-apple-aux*)	targ_emul=m68kaux ;;
1301556Srgrimes*-tandem-none)		targ_emul=st2000 ;;
1311556Srgrimesi370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
1321556Srgrimesi[3-7]86-*-nto-qnx*)	targ_emul=i386nto ;;
1331556Srgrimesi[3-7]86-*-vsta)	targ_emul=vsta ;;
1341556Srgrimesi[3-7]86-go32-rtems*)	targ_emul=i386go32 ;;
1351556Srgrimesi[3-7]86-*-go32)	targ_emul=i386go32 ;;
1361556Srgrimesi[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
1371556Srgrimesi[3-7]86-*-aix*)	targ_emul=i386coff ;;
1381556Srgrimesi[3-7]86-*-sco*)	targ_emul=i386coff ;;
1391556Srgrimesi[3-7]86-*-isc*)	targ_emul=i386coff ;;
1401556Srgrimesi[3-7]86-*-lynxos*)	targ_emul=i386lynx ;;
1411556Srgrimesi[3-7]86-*-coff)	targ_emul=i386coff ;;
1421556Srgrimesi[3-7]86-*-rtemscoff*)	targ_emul=i386coff ;;
1431556Srgrimesi[3-7]86-*-rtemself*)	targ_emul=elf_i386 ;;
1441556Srgrimesi[3-7]86-*-rtems*)	targ_emul=elf_i386 ;;
1451556Srgrimesi[3-7]86-*-aros*)	targ_emul=elf_i386 ;;
1461556Srgrimesi[3-7]86-*-bsd)		targ_emul=i386bsd ;;
1471556Srgrimesi[3-7]86-*-bsd386)	targ_emul=i386bsd ;;
1481556Srgrimesi[3-7]86-*-bsdi*)	targ_emul=i386bsd ;;
1491556Srgrimesi[3-7]86-*-aout)	targ_emul=i386aout ;;
1501556Srgrimesi[3-7]86-*-linux*aout*)	targ_emul=i386linux
1511556Srgrimes			targ_extra_emuls=elf_i386
1521556Srgrimes			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
1531556Srgrimes			;;
1541556Srgrimesi[3-7]86-*-linux*oldld)	targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
1551556Srgrimesi[3-7]86-*-linux-gnu*)	targ_emul=elf_i386
1561556Srgrimes			targ_extra_emuls=i386linux
1571556Srgrimes			if test x${want64} = xtrue; then
1581556Srgrimes			  targ_extra_emuls="$targ_extra_emuls elf_x86_64"
1591556Srgrimes			fi
1601556Srgrimes			tdir_i386linux=${targ_alias}aout
1611556Srgrimes			;;
1621556Srgrimesx86_64-*-linux-gnu*)	targ_emul=elf_x86_64
1631556Srgrimes			targ_extra_emuls="elf_i386 i386linux"
1641556Srgrimes			targ_extra_libpath=elf_i386
1651556Srgrimes			tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
1661556Srgrimes			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
1671556Srgrimes			;;
1681556Srgrimesi[3-7]86-*-sysv[45]*)	targ_emul=elf_i386 ;;
1691556Srgrimesi[3-7]86-*-solaris2*)	targ_emul=elf_i386_ldso
1701556Srgrimes                        targ_extra_emuls="elf_i386"
1711556Srgrimes                        ;;
1721556Srgrimesi[3-7]86-*-unixware)	targ_emul=elf_i386 ;;
1731556Srgrimesi[3-7]86-*-solaris*)	targ_emul=elf_i386_ldso
1741556Srgrimes                        targ_extra_emuls="elf_i386"
1751556Srgrimes                        ;;
1761556Srgrimesi[3-7]86-*-netbsdelf* | \
1771556Srgrimesi[3-7]86-*-netbsd*-gnu* | \
1781556Srgrimesi[3-7]86-*-knetbsd*-gnu)
1791556Srgrimes			targ_emul=elf_i386
1801556Srgrimes			targ_extra_emuls=i386nbsd
1811556Srgrimes			;;
1821556Srgrimesi[3-7]86-*-netbsdpe*)	targ_emul=i386pe
1831556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o"
1841556Srgrimes			;;
1851556Srgrimesi[3-7]86-*-netbsd*)	targ_emul=i386nbsd
18617987Speter			targ_extra_emuls=elf_i386
18717987Speter			;;
1881556Srgrimesx86_64-*-netbsd*)	targ_emul=elf_x86_64
1891556Srgrimes			targ_extra_emuls="elf_i386 i386nbsd"
1901556Srgrimes			tdir_elf_i386=`echo ${targ_alias} | \
1911556Srgrimes			    sed -e 's/x86_64/i386/'`
1921556Srgrimes			case "${tdir_elf_i386}" in
1931556Srgrimes			*-netbsdelf*) ;;
1941556Srgrimes			*)
1951556Srgrimes				tdir_elf_i386=`echo ${tdir_elf_i386} | \
19617525Sache				    sed -e 's/netbsd/netbsdelf/'`
1971556Srgrimes				;;
19817525Sache			esac
1991556Srgrimes			;;
2001556Srgrimesi[3-7]86-*-netware)	targ_emul=i386nw ;;
2011556Srgrimesi[3-7]86-*-elf*)	targ_emul=elf_i386 ;;
2021556Srgrimesi[3-7]86-*-kaos*)	targ_emul=elf_i386 ;;
2031556Srgrimesi[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12])
2041556Srgrimes			targ_emul=i386bsd ;;
2051556Srgrimesi[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
2061556Srgrimes		        targ_emul=elf_i386_fbsd
2071556Srgrimes			targ_extra_emuls="elf_i386 i386bsd" ;;
2081556Srgrimesx86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
2091556Srgrimes			targ_emul=elf_x86_64_fbsd
2101556Srgrimes			targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386"
2111556Srgrimes			tdir_elf_i386=`echo ${targ_alias} \
2121556Srgrimes			    | sed -e 's/x86_64/i386/'`
2131556Srgrimes			;;
2141556Srgrimesi[3-7]86-*-sysv*)	targ_emul=i386coff ;;
2151556Srgrimesi[3-7]86-*-ptx*)	targ_emul=i386coff ;;
2161556Srgrimesi[3-7]86-*-mach*)	targ_emul=i386mach ;;
2171556Srgrimesi[3-7]86-*-gnu*)	targ_emul=elf_i386 ;;
2181556Srgrimesi[3-7]86-*-msdos*)	targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
2191556Srgrimesi[3-7]86-*-moss*)	targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
2201556Srgrimesi[3-7]86-*-winnt*)	targ_emul=i386pe ;
2211556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
2221556Srgrimesi[3-7]86-*-pe)		targ_emul=i386pe ;
2231556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
2241556Srgrimesi[3-7]86-*-cygwin*)	targ_emul=i386pe ;
2251556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o"
2261556Srgrimes			test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
22717525Sachei[3-7]86-*-mingw32*)	targ_emul=i386pe ;
22817525Sache			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
22917525Sachei[3-7]86-*-interix*)	targ_emul=i386pe_posix;
23017525Sache 			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
23117525Sachei[3-7]86-*-beospe*)	targ_emul=i386beos ;;
23217525Sachei[3-7]86-*-beos*)	targ_emul=elf_i386_be ;;
23317525Sachei[3-7]86-*-vxworks*)	targ_emul=elf_i386 ;;
23417525Sachei[3-7]86-*-chaos)	targ_emul=elf_i386_chaos ;;
23517525Sachem8*-*-*)		targ_emul=m88kbcs ;;
2361556Srgrimesa29k-*-udi)		targ_emul=sa29200 ;;
23717525Sachea29k-*-ebmon)		targ_emul=ebmon29k ;;
23817525Sachea29k-*-*)		targ_emul=a29k ;;
23917525Sache#  arm-*-riscix*)		targ_emul=riscix ;;
24017525Sachearm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
24117525Sachearmeb-*-aout)		targ_emul=armaoutb ;;
24217525Sachearm-*-coff)		targ_emul=armcoff ;;
24317525Sachearm-*-freebsd* | arm-*-kfreebsd*-gnu)
24417525Sache	       		targ_emul=armelf_fbsd
24517525Sache			targ_extra_emuls="armelf" ;;
24617525Sachearmeb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
24717525Sache			targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
2481556Srgrimesarm-*-netbsdelf*)	targ_emul=armelf_nbsd;
2491556Srgrimes			targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;;
2501556Srgrimesarm-*-netbsd*)		targ_emul=armnbsd;
2511556Srgrimes			targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd"  ;;
2521556Srgrimesarm-*-nto*)		targ_emul=armnto ;;
2531556Srgrimesarm-*-openbsd*)		targ_emul=armnbsd ;;
2541556Srgrimesarm-*-rtems*)		targ_emul=armelf ;;
2551556Srgrimesarmeb-*-elf)		targ_emul=armelfb ;;
2561556Srgrimesarm-*-elf | arm-*-vxworks)
2571556Srgrimes	  		targ_emul=armelf ;;
2581556Srgrimesarm-*-kaos*)		targ_emul=armelf ;;
25917987Speterarm9e-*-elf)		targ_emul=armelf ;;
26017987Speterarm-*-oabi)		targ_emul=armelf_oabi ;;
2611556Srgrimesarm*b-*-linux-gnu*)	targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
2621556Srgrimesarm*-*-linux-gnu*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
2631556Srgrimesarm*-*-uclinux*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
2641556Srgrimesarm*-*-conix*)		targ_emul=armelf ;;
2651556Srgrimesthumb-*-linux-gnu* | thumb-*-uclinux*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
2661556Srgrimesstrongarm-*-coff)	targ_emul=armcoff ;;
2671556Srgrimesstrongarm-*-elf)	targ_emul=armelf ;;
2681556Srgrimesstrongarm-*-kaos*)	targ_emul=armelf ;;
2691556Srgrimesthumb-*-coff)		targ_emul=armcoff ;;
2701556Srgrimesthumb-*-elf)		targ_emul=armelf ;;
2711556Srgrimesthumb-*-oabi)           targ_emul=armelf_oabi ;;
2721556Srgrimesthumb-epoc-pe)		targ_emul=arm_epoc_pe ;
2731556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
2741556Srgrimesthumb-*-pe)		targ_emul=armpe ;
2751556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
2761556Srgrimesxscale-*-coff)		targ_emul=armcoff ;;
2771556Srgrimesxscale-*-elf)		targ_emul=armelf ;;
2781556Srgrimesh8300-*-hms* | h8300-*-coff* | h8300-*-rtems*)
2791556Srgrimes			targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn"
28017987Speter			;;
2811556Srgrimesh8300-*-elf*)
2821556Srgrimes			targ_emul=h8300elf;
28317987Speter			targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf"
28417525Sache			;;
28517525Sacheh8500-*-hms* | h8500-*-coff* | h8500-*-rtems*)
28617525Sache			targ_emul=h8500
28717525Sache			targ_extra_emuls="h8500s h8500b h8500m h8500c"
2881556Srgrimes			;;
2891556Srgrimessh-*-linux*)
2901556Srgrimes			targ_emul=shlelf_linux
2911556Srgrimes			targ_extra_emuls=shelf_linux
2921556Srgrimes			targ_extra_libpath=shelf_linux
2931556Srgrimes			;;
2941556Srgrimessh64eb-*-linux*)	targ_emul=shelf32_linux
2951556Srgrimes			targ_extra_emuls="shlelf32_linux"
2961556Srgrimes			;;
29717525Sachesh64-*-linux*)		targ_emul=shlelf32_linux
2981556Srgrimes			targ_extra_emuls="shelf32_linux"
29917525Sache			targ_extra_libpath=shelf32_linux
30017525Sache			;;
30117525Sachesh*eb-*-linux*)
30217525Sache			targ_emul=shelf_linux
30317525Sache			;;
3041556Srgrimessh*-*-linux*)
3051556Srgrimes			targ_emul=shlelf_linux
3061556Srgrimes			;;
3071556Srgrimessh5le-*-netbsd*)
3081556Srgrimes			targ_emul=shlelf32_nbsd
3091556Srgrimes			targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd"
3101556Srgrimes			;;
3111556Srgrimessh5-*-netbsd*)
3121556Srgrimes			targ_emul=shelf32_nbsd
3131556Srgrimes			targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd"
3141556Srgrimes			;;
3151556Srgrimessh64le-*-netbsd*)
3161556Srgrimes			targ_emul=shlelf64_nbsd
3171556Srgrimes			targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd"
3181556Srgrimes			;;
3191556Srgrimessh64-*-netbsd*)
3201556Srgrimes			targ_emul=shelf64_nbsd
3211556Srgrimes			targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd"
3221556Srgrimes			;;
3231556Srgrimessh*l*-*-netbsdelf*)
3241556Srgrimes			targ_emul=shlelf_nbsd
3251556Srgrimes			targ_extra_emuls=shelf_nbsd
3261556Srgrimes			;;
3271556Srgrimessh*-*-netbsdelf*)
3281556Srgrimes			targ_emul=shelf_nbsd
3291556Srgrimes			targ_extra_emuls=shlelf_nbsd
3301556Srgrimes			;;
3311556Srgrimesshle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*)
3321556Srgrimes			targ_emul=shlelf
3331556Srgrimes			targ_extra_emuls="shelf shl sh"
3341556Srgrimes			;;
3351556Srgrimessh-*-rtemscoff*)	targ_emul=sh; targ_extra_emuls=shl ;;
3361556Srgrimessh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos* | sh-*-vxworks)
3371556Srgrimes			targ_emul=shelf
3381556Srgrimes			targ_extra_emuls="shlelf sh shl"
3391556Srgrimes			;;
3401556Srgrimessh-*-nto*)		targ_emul=shelf_nto
3411556Srgrimes			targ_extra_emuls=shlelf_nto
3421556Srgrimes			;;
3431556Srgrimessh-*-pe)		targ_emul=shpe ;
3441556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
3451556Srgrimessh-*-*)			targ_emul=sh; targ_extra_emuls=shl ;;
3461556Srgrimessh64le-*-elf*)
3471556Srgrimes			targ_emul=shlelf
3481556Srgrimes			targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64"
3491556Srgrimes			targ_extra_libpath=$targ_extra_emuls
3501556Srgrimes			;;
3511556Srgrimessh64-*-elf*)
3521556Srgrimes			targ_emul=shelf
3531556Srgrimes			targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64"
3541556Srgrimes			targ_extra_libpath=$targ_extra_emuls
3551556Srgrimes			;;
3561556Srgrimesm68k-sony-*)		targ_emul=news ;;
3571556Srgrimesm68k-hp-bsd*)		targ_emul=hp300bsd ;;
35817987Speterm68*-motorola-sysv*)	targ_emul=delta68 ;;
35917987Speterm68*-*-aout)		targ_emul=m68kaout ;;
3601556Srgrimesm68*-*-coff)		targ_emul=m68kcoff ;;
3611556Srgrimesm68*-*-elf)		targ_emul=m68kelf ;;
3621556Srgrimesm68*-*-hpux*)		targ_emul=hp3hpux ;;
3631556Srgrimesm68k-*-linux*aout*)	targ_emul=m68klinux
3641556Srgrimes			targ_extra_emuls=m68kelf
3651556Srgrimes			tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
3661556Srgrimes			;;
3671556Srgrimesm68k-*-linux-gnu*)	targ_emul=m68kelf
3681556Srgrimes			targ_extra_emuls=m68klinux
36917987Speter			tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
37017987Speter			;;
3711556Srgrimesm68k-*-uclinux*)	targ_emul=m68kelf ;;
3721556Srgrimesm68*-*-gnu*)		targ_emul=m68kelf ;;
3731556Srgrimesm68*-*-lynxos*)		targ_emul=m68klynx ;;
3741556Srgrimesm68*-*-netbsd*4k*)	targ_emul=m68k4knbsd
3751556Srgrimes			targ_extra_emuls="m68knbsd m68kelfnbsd" ;;
3761556Srgrimesm68*-*-netbsdelf*)	targ_emul=m68kelfnbsd
3771556Srgrimes			targ_extra_emuls="m68knbsd m68k4knbsd" ;;
3781556Srgrimesm68*-*-netbsdaout* | m68*-*-netbsd*)
3791556Srgrimes			targ_emul=m68knbsd
3801556Srgrimes			targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;;
3811556Srgrimesm68*-*-psos*)		targ_emul=m68kpsos ;;
3821556Srgrimesm68*-*-rtemscoff*)	targ_emul=m68kcoff ;;
3831556Srgrimesm68*-*-rtems*)		targ_emul=m68kelf ;;
3841556Srgrimeshppa*64*-*-linux-gnu*)	targ_emul=hppa64linux ;;
3851556Srgrimeshppa*64*-*)		targ_emul=elf64hppa ;;
3861556Srgrimeshppa*-*-linux-gnu*)	targ_emul=hppalinux ;;
3871556Srgrimeshppa*-*-*elf*)		targ_emul=hppaelf ;;
3881556Srgrimeshppa*-*-lites*)		targ_emul=hppaelf ;;
3891556Srgrimeshppa*-*-netbsd*)	targ_emul=hppanbsd ;;
3901556Srgrimeshppa*-*-openbsd*)	targ_emul=hppaobsd ;;
3911556Srgrimeshppa*-*-rtems*)		targ_emul=hppaelf ;;
3921556Srgrimesvax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;;
3931556Srgrimesvax-*-netbsdelf*)	targ_emul=elf32vax
3941556Srgrimes			targ_extra_emuls=vaxnbsd ;;
3951556Srgrimesvax-*-netbsdaout* | vax-*-netbsd*)
3961556Srgrimes			targ_emul=vaxnbsd
3971556Srgrimes			targ_extra_emuls=elf32vax ;;
3981556Srgrimesvax-*-linux-gnu*)	targ_emul=elf32vax ;;
3991556Srgrimesmips*-*-pe)		targ_emul=mipspe ;
4001556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
4011556Srgrimesmips*-dec-ultrix*)	targ_emul=mipslit ;;
4021556Srgrimesmips*-dec-osf*)		targ_emul=mipslit ;;
4031556Srgrimesmips*-sgi-irix5*)	targ_emul=elf32bsmip ;;
4041556Srgrimesmips*-sgi-irix6*)	targ_emul=elf32bmipn32
4051556Srgrimes	                targ_extra_emuls="elf32bsmip elf64bmip"
4061556Srgrimes			targ_extra_libpath=$targ_extra_emuls
4071556Srgrimes	                ;;
4081556Srgrimesmips*-sgi-irix*)	targ_emul=mipsbig ;;
4091556Srgrimesmips*el-*-ecoff*)	targ_emul=mipsidtl ;;
4101556Srgrimesmips*-*-ecoff*)		targ_emul=mipsidt ;;
4111556Srgrimesmips*el-*-netbsd*)	targ_emul=elf32lmip
4121556Srgrimes			targ_extra_emuls="elf32bmip"
4131556Srgrimes			;;
4141556Srgrimesmips*-*-netbsd*)	targ_emul=elf32bmip
4151556Srgrimes			targ_extra_emuls="elf32lmip"
4161556Srgrimes			;;
4171556Srgrimesmips*-*-bsd*)		targ_emul=mipsbig ;;
4181556Srgrimesmips*vr4300el-*-elf*)	targ_emul=elf32l4300 ;;
4191556Srgrimesmips*vr4300-*-elf*)	targ_emul=elf32b4300 ;;
4201556Srgrimesmips*vr4100el-*-elf*)	targ_emul=elf32l4300 ;;
4211556Srgrimesmips*vr4100-*-elf*)	targ_emul=elf32b4300 ;;
4221556Srgrimesmips*vr5000el-*-elf*)	targ_emul=elf32l4300 ;;
4231556Srgrimesmips*vr5000-*-elf*)	targ_emul=elf32b4300 ;;
4241556Srgrimesmips*el-*-elf*)		targ_emul=elf32elmip ;;
4251556Srgrimesmips*-*-elf*)		targ_emul=elf32ebmip ;;
4261556Srgrimesmips*el-*-rtems*)	targ_emul=elf32elmip ;;
4271556Srgrimesmips*-*-rtems*)		targ_emul=elf32ebmip ;;
4281556Srgrimesmips*el-*-vxworks*)	targ_emul=elf32elmip ;;
4291556Srgrimesmips*-*-vxworks*)	targ_emul=elf32ebmip
4301556Srgrimes		        targ_extra_emuls="elf32elmip" ;;
4311556Srgrimesmips*-*-windiss)	targ_emul=elf32mipswindiss ;;
4321556Srgrimesmips64*el-*-linux-gnu*)	targ_emul=elf32ltsmipn32
4331556Srgrimes			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
4341556Srgrimes			;;
4351556Srgrimesmips64*-*-linux-gnu*)	targ_emul=elf32btsmipn32
4361556Srgrimes			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
4371556Srgrimes			;;
4381556Srgrimesmips*el-*-linux-gnu*)	targ_emul=elf32ltsmip
4391556Srgrimes			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
4401556Srgrimes			;;
4411556Srgrimesmips*-*-linux-gnu*)	targ_emul=elf32btsmip
4421556Srgrimes			targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
4431556Srgrimes			;;
4441556Srgrimesmips*-*-lnews*)		targ_emul=mipslnews ;;
4451556Srgrimesmips*-*-sysv4*)         targ_emul=elf32btsmip ;;
4461556Srgrimesmmix-*-*)		targ_emul=mmo
4471556Srgrimes			targ_extra_emuls=elf64mmix
4481556Srgrimes			;;
4491556Srgrimesmn10200-*-*)		targ_emul=mn10200 ;;
4501556Srgrimesmn10300-*-*)		targ_emul=mn10300 ;;
4511556Srgrimesmsp430-*-*)             targ_emul=msp430x110
4521556Srgrimes                        targ_extra_emuls="msp430x112 msp430x1101 msp430x1111 msp430x1121 msp430x1122 msp430x1132 msp430x122 msp430x123 msp430x1222 msp430x1232 msp430x133 msp430x135 msp430x1331 msp430x1351 msp430x147 msp430x148 msp430x149 msp430x155 msp430x156 msp430x157 msp430x167 msp430x168 msp430x169 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449" ;;
4531556Srgrimesalpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
4541556Srgrimes		        targ_emul=elf64alpha_fbsd
4551556Srgrimes			targ_extra_emuls="elf64alpha alpha"
4561556Srgrimes			tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'`
45717987Speter			;;
45817987Speteralpha*-*-linuxecoff*)	targ_emul=alpha targ_extra_emuls=elf64alpha
45917987Speter			tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
46017987Speter			;;
4611556Srgrimesalpha*-*-linux-gnu*)	targ_emul=elf64alpha targ_extra_emuls=alpha
4621556Srgrimes			tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
4631556Srgrimes			;;
4641556Srgrimesalpha*-*-osf*)		targ_emul=alpha ;;
4651556Srgrimesalpha*-*-gnu*)		targ_emul=elf64alpha ;;
4661556Srgrimesalpha*-*-netware*)	targ_emul=alpha ;;
4671556Srgrimesalpha*-*-netbsd*)	targ_emul=elf64alpha_nbsd ;;
4681556Srgrimesalpha*-*-openbsd*)	targ_emul=elf64alpha ;;
4691556Srgrimesz8k-*-coff) 		targ_emul=z8002; targ_extra_emuls=z8001 ;;
4701556Srgrimesns32k-pc532-mach* | ns32k-pc532-ux*)	targ_emul=pc532macha ;;
4711556Srgrimesns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
4721556Srgrimesopenrisc-*-*)		targ_emul=elf32openrisc ;;
4731556Srgrimesor32-*-coff)		targ_emul=or32 ;;
4741556Srgrimesor32-*-elf)		targ_emul=or32elf ;;
4751556Srgrimesor32-*-rtems*)          targ_emul=or32elf ;;
4761556Srgrimespdp11-*-*)		targ_emul=pdp11 ;;
4771556Srgrimespjl*-*-*)	        targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;;
4781556Srgrimespj*-*-*)	        targ_emul=pjelf ;;
4791556Srgrimespowerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
48017987Speter			targ_emul=elf32ppc_fbsd;
48117987Speter			targ_extra_emuls="elf32ppc elf32ppcsim";
48217987Speter			targ_extra_libpath=elf32ppc;
48317987Speter			tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'`
4841556Srgrimes			;;
4851556Srgrimespowerpc*-*-linux*)
4861556Srgrimes	case "${targ}" in
4871556Srgrimes	*64*)	targ_emul=elf64ppc
4881556Srgrimes		targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
4891556Srgrimes		targ_extra_libpath="elf32ppclinux elf32ppc"
4901556Srgrimes		tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
4911556Srgrimes		tdir_elf32ppclinux=$tdir_elf32ppc
4921556Srgrimes		tdir_elf32ppcsim=$tdir_elf32ppc ;;
4931556Srgrimes	*)	targ_emul=elf32ppclinux
4941556Srgrimes		targ_extra_emuls="elf32ppc elf32ppcsim"
4951556Srgrimes		targ_extra_libpath=elf32ppc
4961556Srgrimes		if test "${want64}" = "true"; then
4971556Srgrimes		  targ_extra_emuls="$targ_extra_emuls elf64ppc"
4981556Srgrimes		  targ_extra_libpath="$targ_extra_libpath elf64ppc"
4991556Srgrimes		fi
50017525Sache		;;
50117525Sache	esac ;;
50217525Sachepowerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \
50317525Sache  | powerpc*le-*-sysv* | powerpc*le-*-vxworks*)
5041556Srgrimes	case "${targ}" in
5051556Srgrimes	*64*)	targ_emul=elf64lppc
5061556Srgrimes		targ_extra_emuls="elf32lppc elf32lppcsim"
5071556Srgrimes		tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'`
5081556Srgrimes		tdir_elf32lppcsim=$tdir_elf32lppc ;;
5091556Srgrimes	*)	targ_emul=elf32lppc
5101556Srgrimes		targ_extra_emuls="elf32ppcsim" ;;
5111556Srgrimes	esac ;;
5121556Srgrimespowerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
5131556Srgrimes  | powerpc*-*-netbsd* | powerpc-*-openbsd* | powerpc*-*-vxworks* | powerpc*-*-kaos*)
5141556Srgrimes	case "${targ}" in
5151556Srgrimes	*64*)	targ_emul=elf64ppc
5161556Srgrimes		targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim"
5171556Srgrimes		tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
5181556Srgrimes		tdir_elf32ppclinux=$tdir_elf32ppc
5191556Srgrimes		tdir_elf32ppcsim=$tdir_elf32ppc ;;
5201556Srgrimes	*)	targ_emul=elf32ppc
5211556Srgrimes		targ_extra_emuls="elf32ppclinux elf32ppcsim" ;;
5221556Srgrimes	esac ;;
5231556Srgrimespowerpc-*-nto*)         targ_emul=elf32ppcnto ;;
5241556Srgrimespowerpcle-*-nto*)       targ_emul=elf32lppcnto ;;
5251556Srgrimespowerpcle-*-rtems*)	targ_emul=elf32leppc ;;
5261556Srgrimespowerpc-*-rtems*)	targ_emul=elf32ppc ;;
5271556Srgrimespowerpc-*-macos*)	targ_emul=ppcmacos ;;
5281556Srgrimespowerpc-*-netware*)	targ_emul=ppcnw ;;
5291556Srgrimespowerpcle-*-pe)         targ_emul=ppcpe ;;
53017987Speterpowerpcle-*-winnt*)     targ_emul=ppcpe ;;
53117987Speterpowerpcle-*-cygwin*)    targ_emul=ppcpe ;;
53217987Speterpowerpc-*-aix5*)	targ_emul=aix5ppc ;;
53317987Speterpowerpc-*-aix*)		targ_emul=aixppc ;;
53417987Speterpowerpc-*-beos*)	targ_emul=aixppc ;;
5351556Srgrimespowerpc-*-windiss*)	targ_emul=elf32ppcwindiss ;;
5361556Srgrimesrs6000-*-aix5*)		targ_emul=aix5rs6 ;;
5371556Srgrimesrs6000-*-aix*)		targ_emul=aixrs6 ;;
5381556Srgrimestic30-*-*aout*)		targ_emul=tic30aout ;;
5391556Srgrimestic30-*-*coff*)		targ_emul=tic30coff ;;
5401556Srgrimestic4x-*-* | c4x-*-*)    targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;;
5411556Srgrimestic54x-*-* | c54x*-*-*)	targ_emul=tic54xcoff ;;
5421556Srgrimestic80-*-*)		targ_emul=tic80coff ;;
5431556Srgrimesv850-*-*)		targ_emul=v850 ;;
5441556Srgrimesv850e-*-*)		targ_emul=v850 ;;
5451556Srgrimesv850ea-*-*)		targ_emul=v850 ;;
5461556Srgrimesiq2000-*-elf)           targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" ;;
5471556Srgrimesfrv-*-*linux*)		targ_emul=elf32frvfd ;;
5481556Srgrimesfrv-*-*)		targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" ;;
5491556Srgrimesw65-*-*)		targ_emul=w65 ;;
5501556Srgrimesxstormy16-*-*)		targ_emul=elf32xstormy16 ;;
5511556Srgrimesxtensa-*-*)		targ_emul=elf32xtensa;;
5521556Srgrimesfr30-*-*)		targ_emul=elf32fr30 ;;
5531556Srgrimesmcore-*-pe)		targ_emul=mcorepe ;
5541556Srgrimes			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
5551556Srgrimesmcore-*-elf)		targ_emul=elf32mcore ;;
5561556Srgrimess390x-*-linux*)         targ_emul=elf64_s390
5571556Srgrimes			targ_extra_emuls=elf_s390
5581556Srgrimes			targ_extra_libpath=$targ_extra_emuls
5591556Srgrimes			tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;;
5601556Srgrimess390-*-linux*)          targ_emul=elf_s390
5611556Srgrimes			if test "${want64}" = "true"; then
5621556Srgrimes			  targ_extra_emuls=elf64_s390
5631556Srgrimes			  targ_extra_libpath=$targ_extra_emuls
5641556Srgrimes			  tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'`
56517987Speter			fi ;;
5661556Srgrimes*-*-ieee*)		targ_emul=vanilla ;;
5671556Srgrimesip2k-*-elf)		targ_emul=elf32ip2k ;;
5681556Srgrimes
5691556Srgrimes*)
5701556Srgrimes  echo 2>&1 "*** ld does not support target ${targ}"
5711556Srgrimes  echo 2>&1 "*** see ld/configure.tgt for supported targets"
5721556Srgrimes  exit 1
5731556Srgrimes
5741556Srgrimesesac
5751556Srgrimes
5761556SrgrimesNATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib'
5771556Srgrimescase "${target}" in
5781556Srgrimes
5791556Srgrimes*-*-freebsd*)
5801556Srgrimes  NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib'
5811556Srgrimes  ;;
5821556Srgrimes
5831556Srgrimeshppa*64*-*-hpux11*)
5841556Srgrimes  NATIVE_LIB_DIRS=/usr/lib/pa20_64
5851556Srgrimes  ;;
5861556Srgrimes
5871556Srgrimesi[3-7]86-*-sysv4*)
5881556Srgrimes  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
5891556Srgrimes  ;;
5901556Srgrimes
5911556Srgrimesi[3-7]86-*-solaris*)
5921556Srgrimes  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
5931556Srgrimes  ;;
5941556Srgrimes
5951556Srgrimesi[3-7]86-pc-interix*)
5961556Srgrimes  NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib'
5971556Srgrimes  ;;
5981556Srgrimes
5991556Srgrimesia64-*-aix*)
6001556Srgrimes  NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib'
6011556Srgrimes  ;;
6021556Srgrimes
6031556Srgrimessparc*-*-solaris2*)
6041556Srgrimes  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
6051556Srgrimes  ;;
60617987Speter
6071556Srgrimesi[03-9x]86-*-cygwin*)
6081556Srgrimes  NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api'
6091556Srgrimes  ;;
6101556Srgrimes
6111556Srgrimes*-*-linux*)
6121556Srgrimes  ;;
6131556Srgrimes
6141556Srgrimes*-*-freebsd*)
6151556Srgrimes  ;;
6161556Srgrimes
6171556Srgrimes*-*-netbsd*)
6181556Srgrimes  ;;
6191556Srgrimes
6201556Srgrimesalpha*-*-*)
62117987Speter  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
62217987Speter  ;;
62317987Speter
62417987Speteresac
62517987Speter