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 ;; 304m88*-*-openbsd*) targ_emul=elf32m88k_obsd 305 targ_extra_emul="m88kopenbsd m88kbcs" ;; 306m88*-*-*) targ_emul=m88kbcs 307 ;; 308maxq-*-coff) targ_emul=maxqcoff 309 ;; 310mcore-*-pe) targ_emul=mcorepe ; 311 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 312mcore-*-elf) targ_emul=elf32mcore 313 ;; 314mips*-*-pe) targ_emul=mipspe ; 315 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 316mips*-dec-ultrix*) targ_emul=mipslit ;; 317mips*-dec-osf*) targ_emul=mipslit ;; 318mips*-sgi-irix5*) targ_emul=elf32bsmip ;; 319mips*-sgi-irix6*) targ_emul=elf32bmipn32 320 targ_extra_emuls="elf32bsmip elf64bmip" 321 targ_extra_libpath=$targ_extra_emuls ;; 322mips*-sgi-irix*) targ_emul=mipsbig ;; 323mips*el-*-ecoff*) targ_emul=mipsidtl ;; 324mips*-*-ecoff*) targ_emul=mipsidt ;; 325mips*el-*-netbsd*) targ_emul=elf32ltsmip 326 targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip" 327 ;; 328mips*-*-netbsd*) targ_emul=elf32btsmip 329 targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" 330 ;; 331mips64*el-*-openbsd*) targ_emul=elf64ltsmip_obsd 332 targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip" 333 ;; 334mips64*-*-openbsd*) targ_emul=elf64btsmip_obsd 335 targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" 336 ;; 337mips*el-*-openbsd*) targ_emul=elf32ltsmip ;; 338mips*-*-openbsd*) targ_emul=elf32btsmip ;; 339mips*-*-bsd*) targ_emul=mipsbig ;; 340mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; 341mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; 342mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;; 343mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; 344mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; 345mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; 346mips*el-*-elf*) targ_emul=elf32elmip ;; 347mips*-*-elf*) targ_emul=elf32ebmip ;; 348mips*-*-rtems*) targ_emul=elf32ebmip ;; 349mips*el-*-vxworks*) targ_emul=elf32elmipvxworks 350 targ_extra_emuls="elf32ebmipvxworks" ;; 351mips*-*-vxworks*) targ_emul=elf32ebmipvxworks 352 targ_extra_emuls="elf32elmipvxworks" ;; 353mips*-*-windiss) targ_emul=elf32mipswindiss ;; 354mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 355 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" 356 targ_extra_libpath="elf32ltsmip elf64ltsmip" ;; 357mips64*-*-linux-*) targ_emul=elf32btsmipn32 358 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" 359 targ_extra_libpath="elf32btsmip elf64btsmip" ;; 360mips*el-*-linux-*) targ_emul=elf32ltsmip 361 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; 362mips*-*-linux-*) targ_emul=elf32btsmip 363 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; 364mips*-*-lnews*) targ_emul=mipslnews ;; 365mips*-*-sysv4*) targ_emul=elf32btsmip 366 ;; 367mmix-*-*) targ_emul=mmo 368 targ_extra_emuls=elf64mmix 369 ;; 370am33_2.0-*-linux*) targ_emul=elf32am33lin ;; 371mn10200-*-*) targ_emul=mn10200 ;; 372mn10300-*-*) targ_emul=mn10300 373 ;; 374mt-*elf) targ_emul=elf32mt 375 ;; 376msp430-*-*) targ_emul=msp430x110 377 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" 378 ;; 379ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; 380ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd 381 ;; 382openrisc-*-*) targ_emul=elf32openrisc ;; 383or32-*-coff) targ_emul=or32 ;; 384or32-*-elf) targ_emul=or32elf ;; 385or32-*-rtems*) targ_emul=or32elf 386 ;; 387pdp11-*-*) targ_emul=pdp11 388 ;; 389pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;; 390pj*-*-*) targ_emul=pjelf 391 ;; 392powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) 393 targ_emul=elf32ppc_fbsd; 394 targ_extra_emuls="elf32ppc elf32ppcsim"; 395 targ_extra_libpath=elf32ppc; 396 tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; 397powerpc*-*-linux*) case "${targ}" in 398 *64*) targ_emul=elf64ppc 399 targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim" 400 targ_extra_libpath="elf32ppclinux elf32ppc" 401 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 402 tdir_elf32ppclinux=$tdir_elf32ppc 403 tdir_elf32ppcsim=$tdir_elf32ppc 404 ;; 405 *) targ_emul=elf32ppclinux 406 targ_extra_emuls="elf32ppc elf32ppcsim" 407 targ_extra_libpath=elf32ppc 408 if test "${want64}" = "true"; then 409 targ_extra_emuls="$targ_extra_emuls elf64ppc" 410 targ_extra_libpath="$targ_extra_libpath elf64ppc" 411 fi ;; 412 esac ;; 413powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \ 414 | powerpc*le-*-sysv* | powerpc*le-*-vxworks*) 415 case "${targ}" in 416 *64*) targ_emul=elf64lppc 417 targ_extra_emuls="elf32lppc elf32lppcsim" 418 tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'` 419 tdir_elf32lppcsim=$tdir_elf32lppc 420 ;; 421 *) targ_emul=elf32lppc 422 targ_extra_emuls="elf32ppcsim" ;; 423 esac ;; 424powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ 425 | powerpc*-*-netbsd* | powerpc*-*-kaos*) 426 case "${targ}" in 427 *64*) targ_emul=elf64ppc 428 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" 429 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 430 tdir_elf32ppclinux=$tdir_elf32ppc 431 tdir_elf32ppcsim=$tdir_elf32ppc 432 ;; 433 *) targ_emul=elf32ppc 434 targ_extra_emuls="elf32ppclinux elf32ppcsim" ;; 435 esac ;; 436powerpc-*-openbsd*) case "${targ}" in 437 *64*) targ_emul=elf64ppc_obsd 438 targ_extra_emuls="elf32ppc_obsd" ;; 439 *) targ_emul=elf32ppc_obsd ;; 440 esac ;; 441powerpc-*-vxworks*) 442 targ_emul=elf32ppcvxworks 443 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;; 444powerpc-*-nto*) targ_emul=elf32ppcnto ;; 445powerpcle-*-nto*) targ_emul=elf32lppcnto ;; 446powerpc-*-rtems*) targ_emul=elf32ppc ;; 447powerpc-*-macos*) targ_emul=ppcmacos ;; 448powerpc-*-netware*) targ_emul=ppcnw ;; 449powerpcle-*-pe) targ_emul=ppcpe ;; 450powerpcle-*-winnt*) targ_emul=ppcpe ;; 451powerpcle-*-cygwin*) targ_emul=ppcpe ;; 452powerpc-*-aix5*) targ_emul=aix5ppc ;; 453powerpc-*-aix*) targ_emul=aixppc ;; 454powerpc-*-beos*) targ_emul=aixppc ;; 455powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; 456powerpc-*-lynxos*) targ_emul=ppclynx ;; 457rs6000-*-aix5*) targ_emul=aix5rs6 ;; 458rs6000-*-aix*) targ_emul=aixrs6 459 ;; 460s390x-*-linux*) targ_emul=elf64_s390 461 targ_extra_emuls=elf_s390 462 targ_extra_libpath=$targ_extra_emuls 463 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 464s390x-*-tpf*) targ_emul=elf64_s390 465 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 466s390-*-linux*) targ_emul=elf_s390 467 if test "${want64}" = "true"; then 468 targ_extra_emuls=elf64_s390 469 targ_extra_libpath=$targ_extra_emuls 470 tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` 471 fi 472 ;; 473sh-*-linux*) targ_emul=shlelf_linux 474 targ_extra_emuls=shelf_linux 475 targ_extra_libpath=shelf_linux ;; 476sh64eb-*-linux*) targ_emul=shelf32_linux 477 targ_extra_emuls="shlelf32_linux" ;; 478sh64-*-linux*) targ_emul=shlelf32_linux 479 targ_extra_emuls="shelf32_linux" 480 targ_extra_libpath=shelf32_linux ;; 481sh*eb-*-linux*) targ_emul=shelf_linux ;; 482sh*-*-linux*) targ_emul=shlelf_linux ;; 483sh5le-*-netbsd*) targ_emul=shlelf32_nbsd 484 targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; 485sh5-*-netbsd*) targ_emul=shelf32_nbsd 486 targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; 487sh64le-*-netbsd*) targ_emul=shlelf64_nbsd 488 targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; 489sh64-*-netbsd*) targ_emul=shelf64_nbsd 490 targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" ;; 491sh*l*-*-netbsdelf*) targ_emul=shlelf_nbsd 492 targ_extra_emuls=shelf_nbsd ;; 493sh*-*-netbsdelf*) targ_emul=shelf_nbsd 494 targ_extra_emuls=shlelf_nbsd ;; 495sh*-*-openbsd*) targ_emul=shlelf_obsd 496 targ_extra_emuls=shelf_obsd ;; 497sh*-*-symbianelf*) targ_emul=shlsymbian ;; 498shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*) 499 targ_emul=shlelf 500 targ_extra_emuls="shelf shl sh" ;; 501sh-*-rtemscoff*) targ_emul=sh; targ_extra_emuls=shl ;; 502sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos* | sh-*-vxworks) 503 targ_emul=shelf 504 targ_extra_emuls="shlelf sh shl" ;; 505sh-*-nto*) targ_emul=shelf_nto 506 targ_extra_emuls=shlelf_nto ;; 507sh-*-pe) targ_emul=shpe ; 508 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 509sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; 510sh64le-*-elf*) targ_emul=shlelf 511 targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64" 512 targ_extra_libpath=$targ_extra_emuls ;; 513sh64-*-elf*) targ_emul=shelf 514 targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64" 515 targ_extra_libpath=$targ_extra_emuls ;; 516sparc64-*-aout*) targ_emul=sparcaout ;; 517sparc64-*-elf*) targ_emul=elf64_sparc ;; 518sparc-sun-sunos4*) targ_emul=sun4 ;; 519sparclite*-*-elf) targ_emul=elf32_sparc ;; 520sparclite*-*-coff) targ_emul=coff_sparc ;; 521sparclite*-fujitsu-*) targ_emul=sparcaout ;; 522sparc*-*-aout) targ_emul=sparcaout ;; 523sparc*-*-coff) targ_emul=coff_sparc ;; 524sparc*-*-elf) targ_emul=elf32_sparc ;; 525sparc*-*-sysv4*) targ_emul=elf32_sparc ;; 526sparc*-*-vxworks*) targ_emul=elf32_sparc_vxworks ;; 527sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu) 528 targ_emul=elf64_sparc_fbsd 529 targ_extra_emuls="elf64_sparc elf32_sparc" 530 targ_extra_libpath=$targ_extra_emuls 531 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; 532sparc*-*-linux*aout*) targ_emul=sparclinux 533 targ_extra_emuls="elf32_sparc sun4" 534 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` 535 tdir_sun4=sparc-sun-sunos4 ;; 536sparc64-*-linux-*) targ_emul=elf64_sparc 537 targ_extra_emuls="elf32_sparc sparclinux sun4" 538 targ_extra_libpath=elf32_sparc 539 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` 540 tdir_sparclinux=${tdir_elf32_sparc}aout 541 tdir_sun4=sparc-sun-sunos4 ;; 542sparc*-*-linux-*) targ_emul=elf32_sparc 543 targ_extra_emuls="sparclinux elf64_sparc sun4" 544 targ_extra_libpath=elf64_sparc 545 tdir_sparclinux=${targ_alias}aout 546 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` 547 tdir_sun4=sparc-sun-sunos4 ;; 548sparc64-*-netbsd*) targ_emul=elf64_sparc 549 targ_extra_emuls="elf32_sparc" ;; 550sparc64-*-openbsd*) targ_emul=elf64_sparc_obsd ;; 551sparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;; 552sparc*-*-netbsd*) targ_emul=sparcnbsd ;; 553sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]) 554 targ_emul=sparcobsd ;; 555sparc-*-openbsd*) targ_emul=elf32_sparc_obsd ;; 556sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 557 targ_emul=elf32_sparc ;; 558sparc-*-solaris2*) targ_emul=elf32_sparc 559 targ_extra_emuls="elf64_sparc" 560 targ_extra_libpath=$targ_extra_emuls 561 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; 562sparcv9-*-solaris2* | sparc64-*-solaris2*) 563 targ_emul=elf64_sparc 564 targ_extra_emuls="elf32_sparc" 565 targ_extra_libpath=$targ_extra_emuls 566 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; 567sparc*-*-solaris2*) targ_emul=elf32_sparc ;; 568sparc*-wrs-vxworks*) targ_emul=sparcaout ;; 569sparc*-*-rtems*) targ_emul=elf32_sparc 570 ;; 571tic30-*-*aout*) targ_emul=tic30aout ;; 572tic30-*-*coff*) targ_emul=tic30coff ;; 573tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;; 574tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; 575tic80-*-*) targ_emul=tic80coff 576 ;; 577v850-*-*) targ_emul=v850 ;; 578v850e-*-*) targ_emul=v850 ;; 579v850ea-*-*) targ_emul=v850 580 ;; 581vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; 582vax-*-netbsdelf*) targ_emul=elf32vax 583 targ_extra_emuls=vaxnbsd ;; 584vax-*-netbsdaout* | vax-*-netbsd*) 585 targ_emul=vaxnbsd 586 targ_extra_emuls=elf32vax ;; 587vax-*-openbsd*) targ_emul=elf32vax_obsd 588 targ_extra_emuls=vaxnbsd ;; 589vax-*-linux-*) targ_emul=elf32vax 590 ;; 591w65-*-*) targ_emul=w65 592 ;; 593xc16x-*-elf) targ_emul=elf32xc16x 594 targ_extra_emuls="elf32xc16xl elf32xc16xs" 595 ;; 596xstormy16-*-*) targ_emul=elf32xstormy16 597 ;; 598xtensa-*-*) targ_emul=elf32xtensa 599 ;; 600z80-*-coff) targ_emul=z80 601 ;; 602z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 603 ;; 604*-*-ieee*) targ_emul=vanilla 605 ;; 606*-tandem-none) targ_emul=st2000 607 ;; 608*) 609 echo 2>&1 "*** ld does not support target ${targ}" 610 echo 2>&1 "*** see ld/configure.tgt for supported targets" 611 exit 1 612 613esac 614 615NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib' 616case "${target}" in 617 618*-*-freebsd*) 619 NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib' 620 ;; 621 622hppa*64*-*-hpux11*) 623 NATIVE_LIB_DIRS=/usr/lib/pa20_64 624 ;; 625 626i[3-7]86-*-sysv4*) 627 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 628 ;; 629 630i[3-7]86-*-solaris*) 631 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 632 ;; 633 634i[3-7]86-pc-interix*) 635 NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib' 636 ;; 637 638ia64-*-aix*) 639 NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib' 640 ;; 641 642sparc*-*-solaris2*) 643 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 644 ;; 645 646i[03-9x]86-*-cygwin*) 647 NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api' 648 ;; 649 650*-*-linux*) 651 ;; 652 653*-*-freebsd*) 654 ;; 655 656*-*-netbsd*) 657 ;; 658 659alpha*-*-*) 660 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' 661 ;; 662 663esac 664