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