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