1# This is the linker target specific file. This is invoked by the 2# autoconf generated configure script. Putting it in a separate shell 3# file lets us skip running autoconf when modifying target specific 4# information. 5 6# This file switches on the shell variable ${targ}, and sets the 7# following shell variables: 8# targ_emul name of linker emulation to use 9# targ_extra_emuls additional linker emulations to provide 10# targ_extra_libpath additional linker emulations using LIB_PATH 11# targ_extra_ofiles additional objects needed by the emulation 12# NATIVE_LIB_DIRS library directories to search on this host 13# (if we are a native or sysrooted linker) 14 15targ_extra_emuls= 16targ_extra_ofiles= 17 18# Please try to keep this table in alphabetic order - it makes it 19# much easier to lookup a specific archictecture. Naturally any 20# architecture variants should be kept together even if their names 21# break the alpha sorting. 22case "${targ}" in 23alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) 24 targ_emul=elf64alpha_fbsd 25 targ_extra_emuls="elf64alpha alpha" 26 tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` ;; 27alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha 28 tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` ;; 29alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha 30 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` ;; 31alpha*-*-osf*) targ_emul=alpha ;; 32alpha*-*-gnu*) targ_emul=elf64alpha ;; 33alpha*-*-netware*) targ_emul=alpha ;; 34alpha*-*-netbsd*) targ_emul=elf64alpha_nbsd ;; 35alpha*-*-openbsd*) targ_emul=elf64alpha_obsd ;; 36arc-*-elf*) targ_emul=arcelf 37 ;; 38arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; 39arm-*-wince) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; 40arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; 41arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; 42armeb-*-aout) targ_emul=armaoutb ;; 43arm-*-coff) targ_emul=armcoff ;; 44arm-*-freebsd* | arm-*-kfreebsd*-gnu) 45 targ_emul=armelf_fbsd 46 targ_extra_emuls="armelf" ;; 47armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; 48 targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; 49arm-*-netbsdelf*) targ_emul=armelf_nbsd; 50 targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;; 51arm-*-netbsd*) targ_emul=armnbsd; 52 targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd" ;; 53arm-*-nto*) targ_emul=armnto ;; 54armeb-*-openbsd*) targ_emul=armelfb_obsd 55 targ_extra_emuls="armelf_obsd" ;; 56arm-*-openbsd*) targ_emul=armelf_obsd 57 targ_extra_emuls="armelfb_obsd" ;; 58arm-*-rtems*) targ_emul=armelf ;; 59armeb-*-elf) targ_emul=armelfb ;; 60arm-*-elf | arm*-*-eabi*) 61 targ_emul=armelf ;; 62arm*-*-symbianelf*) targ_emul=armsymbian;; 63arm-*-kaos*) targ_emul=armelf ;; 64arm9e-*-elf) targ_emul=armelf ;; 65arm*b-*-linux-*eabi) targ_emul=armelfb_linux_eabi ;; 66arm*b-*-linux-*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; 67arm*-*-linux-*eabi) targ_emul=armelf_linux_eabi ;; 68arm*-*-linux-*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; 69arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; 70arm-*-vxworks) targ_emul=armelf_vxworks ;; 71arm*-*-conix*) targ_emul=armelf ;; 72thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; 73strongarm-*-coff) targ_emul=armcoff ;; 74strongarm-*-elf) targ_emul=armelf ;; 75strongarm-*-kaos*) targ_emul=armelf ;; 76thumb-*-coff) targ_emul=armcoff ;; 77thumb-*-elf) targ_emul=armelf ;; 78thumb-epoc-pe) targ_emul=arm_epoc_pe ; 79 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 80thumb-*-pe) targ_emul=armpe ; 81 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 82xscale-*-coff) targ_emul=armcoff ;; 83xscale-*-elf) targ_emul=armelf 84 ;; 85avr-*-*) targ_emul=avr2 86 targ_extra_emuls="avr1 avr3 avr4 avr5" 87 ;; 88bfin-*-elf) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; 89bfin-*-uclinux*) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; 90cr16c-*-elf*) targ_emul=elf32cr16c 91 ;; 92cris-*-*aout*) targ_emul=crisaout 93 targ_extra_emuls="criself crislinux" 94 targ_extra_libpath=$targ_extra_emuls ;; 95cris-*-linux-* | crisv32-*-linux-*) 96 targ_emul=crislinux ;; 97cris-*-* | crisv32-*-*) targ_emul=criself 98 targ_extra_emuls="crisaout crislinux" 99 targ_extra_libpath=$targ_extra_emuls 100 ;; 101crx-*-elf*) targ_emul=elf32crx 102 ;; 103d10v-*-*) targ_emul=d10velf ;; 104d30v-*-*ext*) targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;; 105d30v-*-*onchip*) targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;; 106d30v-*-*) targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" 107 ;; 108dlx-*-elf*) targ_emul=elf32_dlx 109 ;; 110fr30-*-*) targ_emul=elf32fr30 111 ;; 112frv-*-*linux*) targ_emul=elf32frvfd ;; 113frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" 114 ;; 115h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) 116 targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" ;; 117h8300-*-elf* | h8300-*-rtems*) 118 targ_emul=h8300elf; 119 targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf" ;; 120h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*) 121 targ_emul=h8500 122 targ_extra_emuls="h8500s h8500b h8500m h8500c" 123 ;; 124hppa*64*-*-linux-*) targ_emul=hppa64linux ;; 125hppa*64*-*-openbsd*) targ_emul=hppa64obsd ;; 126hppa*64*-*) targ_emul=elf64hppa ;; 127hppa*-*-linux-*) targ_emul=hppalinux ;; 128hppa*-*-*elf*) targ_emul=hppaelf ;; 129hppa*-*-lites*) targ_emul=hppaelf ;; 130hppa*-*-netbsd*) targ_emul=hppanbsd ;; 131hppa*-*-openbsd*) targ_emul=hppaobsd ;; 132i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 133 ;; 134i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; 135i[3-7]86-*-vsta) targ_emul=vsta ;; 136i[3-7]86-*-go32) targ_emul=i386go32 ;; 137i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;; 138i[3-7]86-*-aix*) targ_emul=i386coff ;; 139i[3-7]86-*-sco*) targ_emul=i386coff ;; 140i[3-7]86-*-isc*) targ_emul=i386coff ;; 141i[3-7]86-*-lynxos*) targ_emul=i386lynx ;; 142i[3-7]86-*-coff) targ_emul=i386coff ;; 143i[3-7]86-*-rtems*) targ_emul=elf_i386 ;; 144i[3-7]86-*-aros*) targ_emul=elf_i386 ;; 145i[3-7]86-*-rdos*) targ_emul=elf_i386 ;; 146i[3-7]86-*-bsd) targ_emul=i386bsd ;; 147i[3-7]86-*-bsd386) targ_emul=i386bsd ;; 148i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; 149i[3-7]86-*-aout) targ_emul=i386aout ;; 150i[3-7]86-*-linux*aout*) targ_emul=i386linux 151 targ_extra_emuls=elf_i386 152 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; 153i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; 154i[3-7]86-*-linux-*) targ_emul=elf_i386 155 targ_extra_emuls=i386linux 156 if test x${want64} = xtrue; then 157 targ_extra_emuls="$targ_extra_emuls elf_x86_64" 158 fi 159 tdir_i386linux=${targ_alias}aout ;; 160x86_64-*-linux-*) targ_emul=elf_x86_64 161 targ_extra_emuls="elf_i386 i386linux" 162 targ_extra_libpath=elf_i386 163 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` 164 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; 165i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 ;; 166i[3-7]86-*-solaris2*) targ_emul=elf_i386_ldso 167 targ_extra_emuls="elf_i386 elf_x86_64" 168 ;; 169i[3-7]86-*-unixware) targ_emul=elf_i386 ;; 170i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso 171 targ_extra_emuls="elf_i386" 172 ;; 173i[3-7]86-*-netbsdelf* | \ 174i[3-7]86-*-netbsd*-gnu* | \ 175i[3-7]86-*-knetbsd*-gnu) 176 targ_emul=elf_i386 177 targ_extra_emuls=i386nbsd ;; 178i[3-7]86-*-netbsdpe*) targ_emul=i386pe 179 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 180i[3-7]86-*-netbsd*) targ_emul=i386nbsd 181 targ_extra_emuls=elf_i386 ;; 182x86_64-*-netbsd*) targ_emul=elf_x86_64 183 targ_extra_emuls="elf_i386 i386nbsd" 184 tdir_elf_i386=`echo ${targ_alias} | \ 185 sed -e 's/x86_64/i386/'` 186 case "${tdir_elf_i386}" in 187 *-netbsdelf*) ;; 188 *) tdir_elf_i386=`echo ${tdir_elf_i386} | \ 189 sed -e 's/netbsd/netbsdelf/'`;; 190 esac ;; 191i[3-7]86-*-netware) targ_emul=i386nw ;; 192i[3-7]86-*-openbsd[0-2]* | i[3-7]86-*-openbsd3.[0-2]) 193 targ_emul=i386obsd ;; 194i[3-7]86-*-openbsd*) targ_emul=elf_i386_obsd ;; 195x86_64-*-openbsd*) targ_emul=elf_x86_64_obsd 196 targ_extra_emuls="elf_i386_obsd elf_i386" 197 tdir_elf_i386_obsd=`echo ${targ_alias} | \ 198 sed -e 's/x86_64/i386/'` 199 ;; 200i[3-7]86-*-elf*) targ_emul=elf_i386 ;; 201x86_64-*-elf*) targ_emul=elf_x86_64 202 targ_extra_emuls=elf_i386 203 ;; 204i[3-7]86-*-kaos*) targ_emul=elf_i386 ;; 205i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12]) 206 targ_emul=i386bsd ;; 207i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) 208 targ_emul=elf_i386_fbsd 209 targ_extra_emuls="elf_i386 i386bsd" ;; 210x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) 211 targ_emul=elf_x86_64_fbsd 212 targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386" 213 tdir_elf_i386=`echo ${targ_alias} \ 214 | sed -e 's/x86_64/i386/'` ;; 215i[3-7]86-*-sysv*) targ_emul=i386coff ;; 216i[3-7]86-*-ptx*) targ_emul=i386coff ;; 217i[3-7]86-*-mach*) targ_emul=i386mach ;; 218i[3-7]86-*-gnu*) targ_emul=elf_i386 ;; 219i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; 220i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; 221i[3-7]86-*-winnt*) targ_emul=i386pe ; 222 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 223i[3-7]86-*-pe) targ_emul=i386pe ; 224 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 225i[3-7]86-*-cygwin*) targ_emul=i386pe ; 226 targ_extra_ofiles="deffilep.o pe-dll.o" 227 test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; 228i[3-7]86-*-mingw32*) targ_emul=i386pe ; 229 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 230i[3-7]86-*-interix*) targ_emul=i386pe_posix; 231 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 232i[3-7]86-*-beospe*) targ_emul=i386beos ;; 233i[3-7]86-*-beos*) targ_emul=elf_i386_be ;; 234i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;; 235i[3-7]86-*-chaos) targ_emul=elf_i386_chaos 236 ;; 237i860-*-coff) targ_emul=coff_i860 ;; 238i860-stardent-sysv4* | i860-stardent-elf*) 239 targ_emul=elf32_i860 240 ;; 241i960-wrs-vxworks5.0*) targ_emul=gld960 ;; 242i960-wrs-vxworks5*) targ_emul=gld960coff ;; 243i960-wrs-vxworks*) targ_emul=gld960 ;; 244i960-*-coff) targ_emul=gld960coff ;; 245i960-intel-nindy) targ_emul=gld960 ;; 246i960-*-rtems*) targ_emul=gld960coff ;; 247i960-*-elf*) targ_emul=elf32_i960 248 ;; 249ia64-*-elf*) targ_emul=elf64_ia64 ;; 250ia64-*-freebsd* | ia64-*-kfreebsd*-gnu) 251 targ_emul=elf64_ia64_fbsd 252 targ_extra_emuls="elf64_ia64" ;; 253ia64-*-netbsd*) targ_emul=elf64_ia64 ;; 254ia64-*-openbsd*) targ_emul=elf64_ia64 ;; 255ia64-*-linux*) targ_emul=elf64_ia64 ;; 256ia64-*-aix*) targ_emul=elf64_aix 257 ;; 258ip2k-*-elf) targ_emul=elf32ip2k 259 ;; 260iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" 261 ;; 262m32c-*-elf) targ_emul=elf32m32c 263 ;; 264m32r*le-*-elf*) targ_emul=m32rlelf ;; 265m32r*-*-elf*) targ_emul=m32relf ;; 266m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; 267m32r*-*-linux-*) targ_emul=m32relf_linux 268 ;; 269m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf 270 targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; 271m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf 272 targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;; 273m68*-sun-sunos[34]*) targ_emul=sun3 ;; 274m68*-wrs-vxworks*) targ_emul=sun3 ;; 275m68*-ericsson-ose) targ_emul=sun3 ;; 276m68*-apple-aux*) targ_emul=m68kaux ;; 277m68k-sony-*) targ_emul=news ;; 278m68k-hp-bsd*) targ_emul=hp300bsd ;; 279m68*-motorola-sysv*) targ_emul=delta68 ;; 280m68*-*-aout) targ_emul=m68kaout ;; 281m68*-*-coff) targ_emul=m68kcoff ;; 282m68*-*-elf) targ_emul=m68kelf ;; 283m68*-*-hpux*) targ_emul=hp3hpux ;; 284m68k-*-linux*aout*) targ_emul=m68klinux 285 targ_extra_emuls=m68kelf 286 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` ;; 287m68k-*-linux-*) targ_emul=m68kelf 288 targ_extra_emuls=m68klinux 289 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` ;; 290m68k-*-uclinux*) targ_emul=m68kelf ;; 291m68*-*-gnu*) targ_emul=m68kelf ;; 292m68*-*-netbsd*4k*) targ_emul=m68k4knbsd 293 targ_extra_emuls="m68knbsd m68kelfnbsd" ;; 294m68*-*-netbsdelf*) targ_emul=m68kelfnbsd 295 targ_extra_emuls="m68knbsd m68k4knbsd" ;; 296m68*-*-netbsdaout* | m68*-*-netbsd*) 297 targ_emul=m68knbsd 298 targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; 299m68*-*-openbsd*) targ_emul=m68kobsd ;; 300m68*-*-psos*) targ_emul=m68kpsos ;; 301m68*-*-rtemscoff*) targ_emul=m68kcoff ;; 302m68*-*-rtems*) targ_emul=m68kelf 303 ;; 304m8*-*-*) targ_emul=m88kbcs 305 ;; 306maxq-*-coff) targ_emul=maxqcoff 307 ;; 308mcore-*-pe) targ_emul=mcorepe ; 309 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 310mcore-*-elf) targ_emul=elf32mcore 311 ;; 312mips*-*-pe) targ_emul=mipspe ; 313 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 314mips*-dec-ultrix*) targ_emul=mipslit ;; 315mips*-dec-osf*) targ_emul=mipslit ;; 316mips*-sgi-irix5*) targ_emul=elf32bsmip ;; 317mips*-sgi-irix6*) targ_emul=elf32bmipn32 318 targ_extra_emuls="elf32bsmip elf64bmip" 319 targ_extra_libpath=$targ_extra_emuls ;; 320mips*-sgi-irix*) targ_emul=mipsbig ;; 321mips*el-*-ecoff*) targ_emul=mipsidtl ;; 322mips*-*-ecoff*) targ_emul=mipsidt ;; 323mips*el-*-netbsd*) targ_emul=elf32ltsmip 324 targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip" 325 ;; 326mips*-*-netbsd*) targ_emul=elf32btsmip 327 targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" 328 ;; 329mips64*el-*-openbsd*) targ_emul=elf64ltsmip_obsd 330 targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip" 331 ;; 332mips64*-*-openbsd*) targ_emul=elf64btsmip_obsd 333 targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" 334 ;; 335mips*el-*-openbsd*) targ_emul=elf32ltsmip ;; 336mips*-*-openbsd*) targ_emul=elf32btsmip ;; 337mips*-*-bsd*) targ_emul=mipsbig ;; 338mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; 339mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; 340mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;; 341mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; 342mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; 343mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; 344mips*el-*-elf*) targ_emul=elf32elmip ;; 345mips*-*-elf*) targ_emul=elf32ebmip ;; 346mips*-*-rtems*) targ_emul=elf32ebmip ;; 347mips*el-*-vxworks*) targ_emul=elf32elmipvxworks 348 targ_extra_emuls="elf32ebmipvxworks" ;; 349mips*-*-vxworks*) targ_emul=elf32ebmipvxworks 350 targ_extra_emuls="elf32elmipvxworks" ;; 351mips*-*-windiss) targ_emul=elf32mipswindiss ;; 352mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 353 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" 354 targ_extra_libpath="elf32ltsmip elf64ltsmip" ;; 355mips64*-*-linux-*) targ_emul=elf32btsmipn32 356 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" 357 targ_extra_libpath="elf32btsmip elf64btsmip" ;; 358mips*el-*-linux-*) targ_emul=elf32ltsmip 359 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; 360mips*-*-linux-*) targ_emul=elf32btsmip 361 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; 362mips*-*-lnews*) targ_emul=mipslnews ;; 363mips*-*-sysv4*) targ_emul=elf32btsmip 364 ;; 365mmix-*-*) targ_emul=mmo 366 targ_extra_emuls=elf64mmix 367 ;; 368am33_2.0-*-linux*) targ_emul=elf32am33lin ;; 369mn10200-*-*) targ_emul=mn10200 ;; 370mn10300-*-*) targ_emul=mn10300 371 ;; 372mt-*elf) targ_emul=elf32mt 373 ;; 374msp430-*-*) targ_emul=msp430x110 375 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 msp430x1610 msp430x1611 msp430x1612 msp430x2101 msp430x2111 msp430x2121 msp430x2131 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430x415 msp430x417 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430xG437 msp430xG438 msp430xG439 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449" 376 ;; 377ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; 378ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd 379 ;; 380openrisc-*-*) targ_emul=elf32openrisc ;; 381or32-*-coff) targ_emul=or32 ;; 382or32-*-elf) targ_emul=or32elf ;; 383or32-*-rtems*) targ_emul=or32elf 384 ;; 385pdp11-*-*) targ_emul=pdp11 386 ;; 387pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;; 388pj*-*-*) targ_emul=pjelf 389 ;; 390powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) 391 targ_emul=elf32ppc_fbsd; 392 targ_extra_emuls="elf32ppc elf32ppcsim"; 393 targ_extra_libpath=elf32ppc; 394 tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; 395powerpc*-*-linux*) case "${targ}" in 396 *64*) targ_emul=elf64ppc 397 targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim" 398 targ_extra_libpath="elf32ppclinux elf32ppc" 399 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 400 tdir_elf32ppclinux=$tdir_elf32ppc 401 tdir_elf32ppcsim=$tdir_elf32ppc 402 ;; 403 *) targ_emul=elf32ppclinux 404 targ_extra_emuls="elf32ppc elf32ppcsim" 405 targ_extra_libpath=elf32ppc 406 if test "${want64}" = "true"; then 407 targ_extra_emuls="$targ_extra_emuls elf64ppc" 408 targ_extra_libpath="$targ_extra_libpath elf64ppc" 409 fi ;; 410 esac ;; 411powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \ 412 | powerpc*le-*-sysv* | powerpc*le-*-vxworks*) 413 case "${targ}" in 414 *64*) targ_emul=elf64lppc 415 targ_extra_emuls="elf32lppc elf32lppcsim" 416 tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'` 417 tdir_elf32lppcsim=$tdir_elf32lppc 418 ;; 419 *) targ_emul=elf32lppc 420 targ_extra_emuls="elf32ppcsim" ;; 421 esac ;; 422powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ 423 | powerpc*-*-netbsd* | powerpc*-*-kaos*) 424 case "${targ}" in 425 *64*) targ_emul=elf64ppc 426 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" 427 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 428 tdir_elf32ppclinux=$tdir_elf32ppc 429 tdir_elf32ppcsim=$tdir_elf32ppc 430 ;; 431 *) targ_emul=elf32ppc 432 targ_extra_emuls="elf32ppclinux elf32ppcsim" ;; 433 esac ;; 434powerpc-*-openbsd*) case "${targ}" in 435 *64*) targ_emul=elf64ppc_obsd 436 targ_extra_emuls="elf32ppc_obsd" ;; 437 *) targ_emul=elf32ppc_obsd ;; 438 esac ;; 439powerpc-*-vxworks*) 440 targ_emul=elf32ppcvxworks 441 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;; 442powerpc-*-nto*) targ_emul=elf32ppcnto ;; 443powerpcle-*-nto*) targ_emul=elf32lppcnto ;; 444powerpc-*-rtems*) targ_emul=elf32ppc ;; 445powerpc-*-macos*) targ_emul=ppcmacos ;; 446powerpc-*-netware*) targ_emul=ppcnw ;; 447powerpcle-*-pe) targ_emul=ppcpe ;; 448powerpcle-*-winnt*) targ_emul=ppcpe ;; 449powerpcle-*-cygwin*) targ_emul=ppcpe ;; 450powerpc-*-aix5*) targ_emul=aix5ppc ;; 451powerpc-*-aix*) targ_emul=aixppc ;; 452powerpc-*-beos*) targ_emul=aixppc ;; 453powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; 454powerpc-*-lynxos*) targ_emul=ppclynx ;; 455rs6000-*-aix5*) targ_emul=aix5rs6 ;; 456rs6000-*-aix*) targ_emul=aixrs6 457 ;; 458s390x-*-linux*) targ_emul=elf64_s390 459 targ_extra_emuls=elf_s390 460 targ_extra_libpath=$targ_extra_emuls 461 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 462s390x-*-tpf*) targ_emul=elf64_s390 463 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 464s390-*-linux*) targ_emul=elf_s390 465 if test "${want64}" = "true"; then 466 targ_extra_emuls=elf64_s390 467 targ_extra_libpath=$targ_extra_emuls 468 tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` 469 fi 470 ;; 471sh-*-linux*) targ_emul=shlelf_linux 472 targ_extra_emuls=shelf_linux 473 targ_extra_libpath=shelf_linux ;; 474sh64eb-*-linux*) targ_emul=shelf32_linux 475 targ_extra_emuls="shlelf32_linux" ;; 476sh64-*-linux*) targ_emul=shlelf32_linux 477 targ_extra_emuls="shelf32_linux" 478 targ_extra_libpath=shelf32_linux ;; 479sh*eb-*-linux*) targ_emul=shelf_linux ;; 480sh*-*-linux*) targ_emul=shlelf_linux ;; 481sh5le-*-netbsd*) targ_emul=shlelf32_nbsd 482 targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; 483sh5-*-netbsd*) targ_emul=shelf32_nbsd 484 targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; 485sh64le-*-netbsd*) targ_emul=shlelf64_nbsd 486 targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; 487sh64-*-netbsd*) targ_emul=shelf64_nbsd 488 targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; 489sh*l*-*-netbsdelf*) targ_emul=shlelf_nbsd 490 targ_extra_emuls=shelf_nbsd ;; 491sh*-*-netbsdelf*) targ_emul=shelf_nbsd 492 targ_extra_emuls=shlelf_nbsd ;; 493sh*-*-openbsd*) targ_emul=shlelf_obsd 494 targ_extra_emuls=shelf_obsd ;; 495sh*-*-symbianelf*) targ_emul=shlsymbian ;; 496shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*) 497 targ_emul=shlelf 498 targ_extra_emuls="shelf shl sh" ;; 499sh-*-rtemscoff*) targ_emul=sh; targ_extra_emuls=shl ;; 500sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos* | sh-*-vxworks) 501 targ_emul=shelf 502 targ_extra_emuls="shlelf sh shl" ;; 503sh-*-nto*) targ_emul=shelf_nto 504 targ_extra_emuls=shlelf_nto ;; 505sh-*-pe) targ_emul=shpe ; 506 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 507sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; 508sh64le-*-elf*) targ_emul=shlelf 509 targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64" 510 targ_extra_libpath=$targ_extra_emuls ;; 511sh64-*-elf*) targ_emul=shelf 512 targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64" 513 targ_extra_libpath=$targ_extra_emuls ;; 514sparc64-*-aout*) targ_emul=sparcaout ;; 515sparc64-*-elf*) targ_emul=elf64_sparc ;; 516sparc-sun-sunos4*) targ_emul=sun4 ;; 517sparclite*-*-elf) targ_emul=elf32_sparc ;; 518sparclite*-*-coff) targ_emul=coff_sparc ;; 519sparclite*-fujitsu-*) targ_emul=sparcaout ;; 520sparc*-*-aout) targ_emul=sparcaout ;; 521sparc*-*-coff) targ_emul=coff_sparc ;; 522sparc*-*-elf) targ_emul=elf32_sparc ;; 523sparc*-*-sysv4*) targ_emul=elf32_sparc ;; 524sparc*-*-vxworks*) targ_emul=elf32_sparc_vxworks ;; 525sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu) 526 targ_emul=elf64_sparc_fbsd 527 targ_extra_emuls="elf64_sparc elf32_sparc" 528 targ_extra_libpath=$targ_extra_emuls 529 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; 530sparc*-*-linux*aout*) targ_emul=sparclinux 531 targ_extra_emuls="elf32_sparc sun4" 532 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` 533 tdir_sun4=sparc-sun-sunos4 ;; 534sparc64-*-linux-*) targ_emul=elf64_sparc 535 targ_extra_emuls="elf32_sparc sparclinux sun4" 536 targ_extra_libpath=elf32_sparc 537 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` 538 tdir_sparclinux=${tdir_elf32_sparc}aout 539 tdir_sun4=sparc-sun-sunos4 ;; 540sparc*-*-linux-*) targ_emul=elf32_sparc 541 targ_extra_emuls="sparclinux elf64_sparc sun4" 542 targ_extra_libpath=elf64_sparc 543 tdir_sparclinux=${targ_alias}aout 544 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` 545 tdir_sun4=sparc-sun-sunos4 ;; 546sparc64-*-netbsd*) targ_emul=elf64_sparc 547 targ_extra_emuls="elf32_sparc" ;; 548sparc64-*-openbsd*) targ_emul=elf64_sparc_obsd ;; 549sparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;; 550sparc*-*-netbsd*) targ_emul=sparcnbsd ;; 551sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]) 552 targ_emul=sparcobsd ;; 553sparc-*-openbsd*) targ_emul=elf32_sparc_obsd ;; 554sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 555 targ_emul=elf32_sparc ;; 556sparc-*-solaris2*) targ_emul=elf32_sparc 557 targ_extra_emuls="elf64_sparc" 558 targ_extra_libpath=$targ_extra_emuls 559 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; 560sparcv9-*-solaris2* | sparc64-*-solaris2*) 561 targ_emul=elf64_sparc 562 targ_extra_emuls="elf32_sparc" 563 targ_extra_libpath=$targ_extra_emuls 564 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; 565sparc*-*-solaris2*) targ_emul=elf32_sparc ;; 566sparc*-wrs-vxworks*) targ_emul=sparcaout ;; 567sparc*-*-rtems*) targ_emul=elf32_sparc 568 ;; 569tic30-*-*aout*) targ_emul=tic30aout ;; 570tic30-*-*coff*) targ_emul=tic30coff ;; 571tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;; 572tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; 573tic80-*-*) targ_emul=tic80coff 574 ;; 575v850-*-*) targ_emul=v850 ;; 576v850e-*-*) targ_emul=v850 ;; 577v850ea-*-*) targ_emul=v850 578 ;; 579vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; 580vax-*-netbsdelf*) targ_emul=elf32vax 581 targ_extra_emuls=vaxnbsd ;; 582vax-*-netbsdaout* | vax-*-netbsd*) 583 targ_emul=vaxnbsd 584 targ_extra_emuls=elf32vax ;; 585vax-*-linux-*) targ_emul=elf32vax 586 ;; 587w65-*-*) targ_emul=w65 588 ;; 589xc16x-*-elf) targ_emul=elf32xc16x 590 targ_extra_emuls="elf32xc16xl elf32xc16xs" 591 ;; 592xstormy16-*-*) targ_emul=elf32xstormy16 593 ;; 594xtensa-*-*) targ_emul=elf32xtensa 595 ;; 596z80-*-coff) targ_emul=z80 597 ;; 598z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 599 ;; 600*-*-ieee*) targ_emul=vanilla 601 ;; 602*-tandem-none) targ_emul=st2000 603 ;; 604*) 605 echo 2>&1 "*** ld does not support target ${targ}" 606 echo 2>&1 "*** see ld/configure.tgt for supported targets" 607 exit 1 608 609esac 610 611NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib' 612case "${target}" in 613 614*-*-freebsd*) 615 NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib' 616 ;; 617 618hppa*64*-*-hpux11*) 619 NATIVE_LIB_DIRS=/usr/lib/pa20_64 620 ;; 621 622i[3-7]86-*-sysv4*) 623 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 624 ;; 625 626i[3-7]86-*-solaris*) 627 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 628 ;; 629 630i[3-7]86-pc-interix*) 631 NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib' 632 ;; 633 634ia64-*-aix*) 635 NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib' 636 ;; 637 638sparc*-*-solaris2*) 639 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 640 ;; 641 642i[03-9x]86-*-cygwin*) 643 NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api' 644 ;; 645 646*-*-linux*) 647 ;; 648 649*-*-freebsd*) 650 ;; 651 652*-*-netbsd*) 653 ;; 654 655alpha*-*-*) 656 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 657 ;; 658 659esac 660