X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=ld%2Fconfigure.tgt;h=61ab9402c6189bd9851e49ca7c6145e1433d9dfc;hb=1736ad1102dd931b269a5b900f05846442a0566a;hp=0246b4260c82b4291c0c74719ed059b91d9f1205;hpb=ebff6cd5e532daf7cc17c64cac32ddae7361c567;p=binutils-gdb.git diff --git a/ld/configure.tgt b/ld/configure.tgt index 0246b4260c8..61ab9402c61 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -9,11 +9,18 @@ # targ_extra_emuls additional linker emulations to provide # targ_extra_libpath additional linker emulations using LIB_PATH # targ_extra_ofiles additional objects needed by the emulation +# targ64_extra_emuls additional linker emulations to provide if +# --enable-64-bit-bfd is given or if host is 64 bit. +# targ64_extra_libpath additional linker emulations using LIB_PATH if +# --enable-64-bit-bfd is given or if host is 64 bit. # NATIVE_LIB_DIRS library directories to search on this host # (if we are a native or sysrooted linker) targ_extra_emuls= +targ_extra_libpath= targ_extra_ofiles= +targ64_extra_emuls= +targ64_extra_libpath= # Please try to keep this table in alphabetic order - it makes it # much easier to lookup a specific archictecture. Naturally any @@ -32,12 +39,16 @@ alpha*-*-osf*) targ_emul=alpha ;; alpha*-*-gnu*) targ_emul=elf64alpha ;; alpha*-*-netware*) targ_emul=alpha ;; alpha*-*-netbsd*) targ_emul=elf64alpha_nbsd ;; -alpha*-*-openbsd*) targ_emul=elf64alpha +alpha*-*-openbsd*) targ_emul=elf64alpha ;; +alpha*-*-*vms*) targ_emul=alphavms ;; arc-*-elf*) targ_emul=arcelf ;; arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; -arm-wince-pe | arm-*-wince) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; +arm*-*-cegcc*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" + LIB_PATH='${tooldir}/lib/w32api' ;; +arm-wince-pe | arm-*-wince | arm*-*-mingw32ce*) + targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; armeb-*-aout) targ_emul=armaoutb ;; @@ -76,6 +87,10 @@ arm*-*-linux-*) targ_emul=armelf_linux targ_extra_emuls="armelf armelfb armelfb_linux" targ_extra_libpath="armelfb_linux" ;; +arm*-*-uclinux*eabi) targ_emul=armelf_linux_eabi + targ_extra_emuls=armelfb_linux_eabi + targ_extra_libpath=$targ_extra_emuls + ;; arm*-*-uclinux*) targ_emul=armelf_linux targ_extra_emuls="armelf armelfb armelfb_linux" targ_extra_libpath="armelfb_linux" @@ -96,10 +111,25 @@ xscale-*-coff) targ_emul=armcoff ;; xscale-*-elf) targ_emul=armelf ;; avr-*-*) targ_emul=avr2 - targ_extra_emuls="avr1 avr3 avr4 avr5 avr6" + targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6" + ;; +bfin-*-elf) targ_emul=elf32bfin; + targ_extra_emuls="elf32bfinfd" + targ_extra_libpath=$targ_extra_emuls + ;; +bfin-*-rtems*) targ_emul=elf32bfin; + targ_extra_emuls="elf32bfinfd" + targ_extra_libpath=$targ_extra_emuls ;; -bfin-*-elf) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; -bfin-*-uclinux*) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; +bfin-*-uclinux*) targ_emul=elf32bfin; + targ_extra_emuls="elf32bfinfd" + targ_extra_libpath=$targ_extra_emuls + ;; +bfin-*-linux-uclibc*) targ_emul=elf32bfinfd; + targ_extra_emuls="elf32bfin" + targ_extra_libpath=$targ_extra_emuls + ;; +cr16-*-elf*) targ_emul=elf32cr16 ;; cr16c-*-elf*) targ_emul=elf32cr16c ;; cris-*-*aout*) targ_emul=crisaout @@ -126,6 +156,8 @@ fr30-*-*) targ_emul=elf32fr30 frv-*-*linux*) targ_emul=elf32frvfd ;; frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" ;; +moxie-*-*) targ_emul=elf32moxie + ;; h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" ;; h8300-*-elf* | h8300-*-rtems*) @@ -136,7 +168,7 @@ h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*) targ_extra_emuls="h8500s h8500b h8500m h8500c" ;; hppa*64*-*-linux-*) targ_emul=hppa64linux ;; -hppa*64*-*) targ_emul=elf64hppa ;; +hppa*64*-hpux*) targ_emul=elf64hppa ;; hppa*-*-linux-*) targ_emul=hppalinux ;; hppa*-*-*elf*) targ_emul=hppaelf ;; hppa*-*-lites*) targ_emul=hppaelf ;; @@ -167,21 +199,24 @@ i[3-7]86-*-linux*aout*) targ_emul=i386linux i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; i[3-7]86-*-linux-*) targ_emul=elf_i386 targ_extra_emuls=i386linux - if test x${want64} = xtrue; then - targ_extra_emuls="$targ_extra_emuls elf_x86_64" - targ_extra_libpath=elf_x86_64 - fi + targ64_extra_emuls="elf_x86_64 elf_l1om" + targ64_extra_libpath=elf_x86_64 tdir_i386linux=${targ_alias}aout ;; x86_64-*-linux-*) targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 i386linux" + targ_extra_emuls="elf_i386 i386linux elf_l1om" targ_extra_libpath=elf_i386 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 ;; -i[3-7]86-*-solaris2*) targ_emul=elf_i386_ldso - targ_extra_emuls="elf_i386 elf_x86_64" +i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2 + targ_extra_emuls="elf_i386_ldso elf_i386 elf_x86_64_sol2 elf_x86_64 elf_l1om" targ_extra_libpath=$targ_extra_emuls ;; +x86_64-*-solaris2*) + targ_emul=elf_x86_64_sol2 + targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_l1om" + targ_extra_libpath=elf_i386 + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-unixware) targ_emul=elf_i386 ;; i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso targ_extra_emuls="elf_i386" @@ -197,7 +232,7 @@ i[3-7]86-*-netbsdpe*) targ_emul=i386pe i[3-7]86-*-netbsd*) targ_emul=i386nbsd targ_extra_emuls=elf_i386 ;; x86_64-*-netbsd*) targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 i386nbsd" + targ_extra_emuls="elf_i386 i386nbsd elf_l1om" tdir_elf_i386=`echo ${targ_alias} | \ sed -e 's/x86_64/i386/'` case "${tdir_elf_i386}" in @@ -208,17 +243,20 @@ x86_64-*-netbsd*) targ_emul=elf_x86_64 i[3-7]86-*-netware) targ_emul=i386nw ;; i[3-7]86-*-elf*) targ_emul=elf_i386 ;; x86_64-*-elf*) targ_emul=elf_x86_64 - targ_extra_emuls=elf_i386 + targ_extra_emuls="elf_i386 elf_l1om" ;; i[3-7]86-*-kaos*) targ_emul=elf_i386 ;; i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12]) targ_emul=i386bsd ;; -i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) +i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) targ_emul=elf_i386_fbsd targ_extra_emuls="elf_i386 i386bsd" ;; x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) targ_emul=elf_x86_64_fbsd - targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386" + targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_l1om elf_l1om_fbsd" + targ_extra_libpath="elf_i386_fbsd" + tdir_elf_i386_fbsd=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` tdir_elf_i386=`echo ${targ_alias} \ | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-sysv*) targ_emul=i386coff ;; @@ -236,8 +274,9 @@ i[3-7]86-*-cygwin*) targ_emul=i386pe ; test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; i[3-7]86-*-mingw32*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; -x86_64-*-mingw64*) targ_emul=i386pep ; - targ_extra_ofiles="deffilep.o pep-dll.o" ;; +x86_64-*-mingw*) targ_emul=i386pep ; + targ_extra_emuls=i386pe + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; i[3-7]86-*-interix*) targ_emul=i386pe_posix; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-beospe*) targ_emul=i386beos ;; @@ -269,10 +308,15 @@ ip2k-*-elf) targ_emul=elf32ip2k ;; iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" ;; -m32c-*-elf) targ_emul=elf32m32c +lm32-*-*linux*) targ_emul=elf32lm32fd ;; +lm32-*-*) targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd" + ;; +m32c-*-elf | m32c-*-rtems*) + targ_emul=elf32m32c ;; m32r*le-*-elf*) targ_emul=m32rlelf ;; -m32r*-*-elf*) targ_emul=m32relf ;; +m32r*-*-elf* | m32r*-*-rtems*) + targ_emul=m32relf ;; m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; m32r*-*-linux-*) targ_emul=m32relf_linux ;; @@ -312,12 +356,14 @@ m68*-*-rtems*) targ_emul=m68kelf ;; m8*-*-*) targ_emul=m88kbcs ;; -maxq-*-coff) targ_emul=maxqcoff - ;; mcore-*-pe) targ_emul=mcorepe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; mcore-*-elf) targ_emul=elf32mcore ;; +mep-*-elf) targ_emul=elf32mep ;; +microblaze*-linux*) + targ_emul="elf32mb_linux" ;; +microblaze*) targ_emul=elf32microblaze ;; mips*-*-pe) targ_emul=mipspe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; mips*-dec-ultrix*) targ_emul=mipslit ;; @@ -356,20 +402,23 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks mips*-*-windiss) targ_emul=elf32mipswindiss ;; mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" - targ_extra_libpath="elf32ltsmip elf64ltsmip" ;; + targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-linux-*) targ_emul=elf32btsmipn32 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" - targ_extra_libpath="elf32btsmip elf64btsmip" ;; + targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-linux-*) targ_emul=elf32ltsmip - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" + targ_extra_libpath=$targ_extra_emuls ;; mips*-*-linux-*) targ_emul=elf32btsmip - targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" + targ_extra_libpath=$targ_extra_emuls ;; mips*-*-lnews*) targ_emul=mipslnews ;; mips*-*-sysv4*) targ_emul=elf32btsmip ;; mmix-*-*) targ_emul=mmo targ_extra_emuls=elf64mmix ;; +am34-*-linux*) targ_emul=elf32am33lin ;; am33_2.0-*-linux*) targ_emul=elf32am33lin ;; mn10200-*-*) targ_emul=mn10200 ;; mn10300-*-*) targ_emul=mn10300 @@ -408,10 +457,9 @@ powerpc*-*-linux*) case "${targ}" in *) targ_emul=elf32ppclinux targ_extra_emuls="elf32ppc elf32ppcsim" targ_extra_libpath=elf32ppc - if test "${want64}" = "true"; then - targ_extra_emuls="$targ_extra_emuls elf64ppc" - targ_extra_libpath="$targ_extra_libpath elf64ppc" - fi ;; + targ64_extra_emuls=elf64ppc + targ64_extra_libpath=elf64ppc + ;; esac ;; powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \ | powerpc*le-*-sysv* | powerpc*le-*-vxworks*) @@ -447,14 +495,15 @@ powerpc-*-netware*) targ_emul=ppcnw ;; powerpcle-*-pe) targ_emul=ppcpe ;; powerpcle-*-winnt*) targ_emul=ppcpe ;; powerpcle-*-cygwin*) targ_emul=ppcpe ;; -powerpc-*-aix5*) targ_emul=aix5ppc ;; +powerpc-*-aix[5-9]*) targ_emul=aix5ppc ;; powerpc-*-aix*) targ_emul=aixppc ;; powerpc-*-beos*) targ_emul=aixppc ;; powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; powerpc-*-lynxos*) targ_emul=ppclynx ;; -rs6000-*-aix5*) targ_emul=aix5rs6 ;; +rs6000-*-aix[5-9]*) targ_emul=aix5rs6 ;; rs6000-*-aix*) targ_emul=aixrs6 ;; +rx-*-*) targ_emul=elf32rx ;; s390x-*-linux*) targ_emul=elf64_s390 targ_extra_emuls=elf_s390 targ_extra_libpath=$targ_extra_emuls @@ -462,13 +511,12 @@ s390x-*-linux*) targ_emul=elf64_s390 s390x-*-tpf*) targ_emul=elf64_s390 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; s390-*-linux*) targ_emul=elf_s390 - if test "${want64}" = "true"; then - targ_extra_emuls=elf64_s390 - targ_extra_libpath=$targ_extra_emuls - tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` - fi + targ64_extra_emuls=elf64_s390 + targ64_extra_libpath=elf64_s390 + tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` ;; -score-*-elf) targ_emul=scoreelf ;; +score-*-elf) targ_emul=score7_elf + targ_extra_emuls=score3_elf ;; sh-*-linux*) targ_emul=shlelf_linux targ_extra_emuls=shelf_linux targ_extra_libpath=shelf_linux ;; @@ -499,6 +547,9 @@ sh-*-rtemscoff*) targ_emul=sh; targ_extra_emuls=shl ;; sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos*) targ_emul=shelf targ_extra_emuls="shlelf sh shl" ;; +sh-*-uclinux* | sh[12]-*-uclinux*) + targ_emul=shelf_uclinux + targ_extra_emuls="shelf shlelf sh shl shelf_fd shlelf_fd" ;; sh-*-vxworks) targ_emul=shelf_vxworks targ_extra_emuls=shlelf_vxworks ;; sh-*-nto*) targ_emul=shelf_nto @@ -550,26 +601,29 @@ sparc64-*-netbsd* | sparc64-*-openbsd*) sparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;; sparc*-*-netbsd*) targ_emul=sparcnbsd ;; sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) - targ_emul=elf32_sparc ;; -sparc-*-solaris2*) targ_emul=elf32_sparc - targ_extra_emuls="elf64_sparc" + targ_emul=elf32_sparc_sol2 + targ_extra_emuls=elf32_sparc ;; +sparc-*-solaris2*) targ_emul=elf32_sparc_sol2 + targ_extra_emuls="elf32_sparc elf64_sparc_sol2 elf64_sparc" targ_extra_libpath=$targ_extra_emuls tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; sparcv9-*-solaris2* | sparc64-*-solaris2*) - targ_emul=elf64_sparc - targ_extra_emuls="elf32_sparc" + targ_emul=elf64_sparc_sol2 + targ_extra_emuls="elf64_sparc elf32_sparc_sol2 elf32_sparc" targ_extra_libpath=$targ_extra_emuls tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; sparc*-*-solaris2*) targ_emul=elf32_sparc ;; sparc*-wrs-vxworks*) targ_emul=sparcaout ;; sparc*-*-rtems*) targ_emul=elf32_sparc ;; -spu-*-elf*) targ_emul=elf32_spu - targ_extra_ofiles="spu_inc.o" ;; +spu-*-elf*) targ_emul=elf32_spu ;; tic30-*-*aout*) targ_emul=tic30aout ;; tic30-*-*coff*) targ_emul=tic30coff ;; tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;; tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; +tic6x-*-*) targ_emul=elf32_tic6x_le + targ_extra_emuls="elf32_tic6x_be" + ;; tic80-*-*) targ_emul=tic80coff ;; v850-*-*) targ_emul=v850 ;; @@ -591,7 +645,7 @@ xc16x-*-elf) targ_emul=elf32xc16x ;; xstormy16-*-*) targ_emul=elf32xstormy16 ;; -xtensa-*-*) targ_emul=elf32xtensa +xtensa*-*-*) targ_emul=elf32xtensa ;; z80-*-coff) targ_emul=z80 ;; @@ -611,7 +665,7 @@ esac NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib' case "${target}" in -*-*-freebsd*) +*-*-freebsd* | *-*-dragonfly*) NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib' ;; @@ -641,7 +695,7 @@ sparc*-*-solaris2*) spu-*-elf*) # This allows to build a pair of PPU/SPU toolchains with common sysroot. - NATIVE_LIB_DIRS='/usr/spu/lib' + NATIVE_LIB_DIRS='/lib' ;; i[03-9x]86-*-cygwin*) @@ -651,7 +705,7 @@ i[03-9x]86-*-cygwin*) *-*-linux*) ;; -*-*-freebsd*) +*-*-freebsd* | *-*-dragonfly*) ;; *-*-netbsd*)