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