configure.tgt revision 107500
1170477Salc# This is the linker target specific file. This is invoked by the 2170477Salc# autoconf generated configure script. Putting it in a separate shell 3172317Salc# file lets us skip running autoconf when modifying target specific 4170477Salc# information. 5170477Salc 6170477Salc# This file switches on the shell variable ${targ}, and sets the 7170477Salc# following shell variables: 8170477Salc# targ_emul name of linker emulation to use 9170477Salc# targ_extra_emuls additional linker emulations to provide 10170477Salc# targ_extra_libpath additional linker emulations using LIB_PATH 11170477Salc# targ_extra_ofiles additional objects needed by the emulation 12170477Salc 13170477Salctarg_extra_emuls= 14170477Salctarg_extra_ofiles= 15170477Salc 16170477Salccase "${targ}" in 17170477Salcarm-epoc-pe) targ_emul=arm_epoc_pe ; 18170477Salc targ_extra_ofiles="deffilep.o pe-dll.o" ;; 19170477Salcarm-*-wince) targ_emul=armpe ; 20170477Salc targ_extra_ofiles="deffilep.o pe-dll.o" ;; 21170477Salcarm-*-pe) targ_emul=armpe ; 22170477Salc targ_extra_ofiles="deffilep.o pe-dll.o" ;; 23170477Salcarc-*-elf*) targ_emul=arcelf ;; 24170477Salcavr-*-*) targ_emul=avr85xx 25170477Salc targ_extra_emuls="avr1200 avr23xx avr44x4 avr4433 avrmega603 avrmega103 avrmega161 avr1 avr2 avr3 avr4 avr5" ;; 26170477Salccris-*-*aout*) targ_emul=crisaout 27170477Salc targ_extra_emuls="criself crislinux" 28170477Salc targ_extra_libpath=$targ_extra_emuls ;; 29170477Salccris-*-*) targ_emul=criself 30170477Salc targ_extra_emuls="crisaout crislinux" 31170477Salc targ_extra_libpath=$targ_extra_emuls ;; 32170477Salcd10v-*-*) targ_emul=d10velf ;; 33170477Salcd30v-*-*ext*) targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;; 34170477Salcd30v-*-*onchip*) targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;; 35170477Salcd30v-*-*) targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" ;; 36170477Salcdlx-*-elf*) targ_emul=elf32_dlx ;; 37170477Salcsparc64-*-aout*) targ_emul=sparcaout ;; 38170477Salcsparc64-*-elf*) targ_emul=elf64_sparc ;; 39170477Salcsparc-sun-sunos4*) targ_emul=sun4 ;; 40170477Salcsparclite*-*-elf) targ_emul=elf32_sparc ;; 41174821Salcsparclite*-*-coff) targ_emul=coff_sparc ;; 42174821Salcsparclite*-fujitsu-*) targ_emul=sparcaout ;; 43210550Sjhbsparc*-*-aout) targ_emul=sparcaout ;; 44210550Sjhbsparc*-*-coff) targ_emul=coff_sparc ;; 45210550Sjhbsparc*-*-elf) targ_emul=elf32_sparc ;; 46210550Sjhbsparc*-*-sysv4*) targ_emul=elf32_sparc ;; 47210550Sjhbsparc64-*-freebsd* | sparcv9-*-freebsd*) 48210550Sjhb targ_emul=elf64_sparc_fbsd 49210550Sjhb targ_extra_emuls="elf64_sparc elf32_sparc" 50254065Skib targ_extra_libpath=$targ_extra_emuls 51254065Skib tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` 52254065Skib ;; 53254065Skibsparc*-*-linux*aout*) targ_emul=sparclinux 54254065Skib targ_extra_emuls="elf32_sparc sun4" 55254065Skib tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` 56254065Skib tdir_sun4=sparc-sun-sunos4 57254065Skib ;; 58254065Skibsparc64-*-linux-gnu*) targ_emul=elf64_sparc 59254065Skib targ_extra_emuls="elf32_sparc sparclinux sun4" 60254065Skib targ_extra_libpath=elf32_sparc 61254065Skib tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` 62254065Skib tdir_sparclinux=${tdir_elf32_sparc}aout 63210550Sjhb tdir_sun4=sparc-sun-sunos4 64282621Sadrian ;; 65250601Sattiliosparc*-*-linux-gnu*) targ_emul=elf32_sparc 66254065Skib targ_extra_emuls="sparclinux elf64_sparc sun4" 67254065Skib targ_extra_libpath=elf64_sparc 68210550Sjhb tdir_sparclinux=${targ_alias}aout 69227568Salc tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` 70227568Salc tdir_sun4=sparc-sun-sunos4 71227568Salc ;; 72274556Salcsparc*-*-lynxos*) targ_emul=sparclynx ;; 73226928Salcsparc64-*-netbsd* | sparc64-*-openbsd*) 74226928Salc targ_emul=elf64_sparc 75276439Salc targ_extra_emuls="elf32_sparc" 76170477Salc ;; 77254065Skibsparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;; 78235372Skibsparc*-*-netbsd*) targ_emul=sparcnbsd ;; 79235372Skibsparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 80235372Skib targ_emul=elf32_sparc ;; 81235372Skibsparc-*-solaris2*) targ_emul=elf32_sparc 82226928Salc targ_extra_emuls="elf64_sparc" 83170477Salc targ_extra_libpath=$targ_extra_emuls 84170477Salc tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` 85243132Skib ;; 86292469Salcsparcv9-*-solaris2* | sparc64-*-solaris2*) 87292469Salc targ_emul=elf64_sparc 88172317Salc targ_extra_emuls="elf32_sparc" 89174821Salc targ_extra_libpath=$targ_extra_emuls 90170477Salc tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` 91285387Sadrian ;; 92170477Salcsparc*-*-solaris2*) targ_emul=elf32_sparc ;; 93254065Skibsparc*-wrs-vxworks*) targ_emul=sparcaout ;; 94254065Skibsparc*-*-rtemsaout*) targ_emul=sparcaout ;; 95254065Skibsparc*-*-rtemself*) targ_emul=elf32_sparc ;; 96254065Skibsparc*-*-rtems*) targ_emul=elf32_sparc ;; 97254065Skibi860-stardent-sysv4* | i860-stardent-elf*) 98254065Skib targ_emul=elf32_i860 ;; 99254065Skibi960-wrs-vxworks5.0*) targ_emul=gld960 ;; 100254065Skibi960-wrs-vxworks5*) targ_emul=gld960coff ;; 101297748Sjhbi960-wrs-vxworks*) targ_emul=gld960 ;; 102254065Skibi960-*-coff) targ_emul=gld960coff ;; 103254065Skibi960-intel-nindy) targ_emul=gld960 ;; 104254065Skibi960-*-rtems*) targ_emul=gld960coff ;; 105254065Skibi960-*-elf*) targ_emul=elf32_i960 ;; 106254065Skibia64-*-elf*) targ_emul=elf64_ia64 ;; 107254065Skibia64-*-freebsd*) targ_emul=elf64_ia64_fbsd 108254065Skib targ_extra_emuls="elf64_ia64" ;; 109254065Skibia64-*-netbsd*) targ_emul=elf64_ia64 ;; 110254065Skibia64-*-linux*) targ_emul=elf64_ia64 ;; 111254065Skibia64-*-aix*) targ_emul=elf64_aix ;; 112254065Skibm32r-*-*) targ_emul=m32relf ;; 113254065Skibm68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf 114254065Skib targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; 115329381Smjgm68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf 116254065Skib targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;; 117254065Skibm68*-sun-sunos[34]*) targ_emul=sun3 ;; 118254065Skibm68*-wrs-vxworks*) targ_emul=sun3 ;; 119254065Skibm68*-ericsson-ose) targ_emul=sun3 ;; 120254065Skibm68*-apple-aux*) targ_emul=m68kaux ;; 121329381Smjg*-tandem-none) targ_emul=st2000 ;; 122254065Skibi370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; 123254065Skibi[3456]86-*-nto-qnx*) targ_emul=i386nto ;; 124174821Salci[3456]86-*-vsta) targ_emul=vsta ;; 125170477Salci[3456]86-go32-rtems*) targ_emul=i386go32 ;; 126i[3456]86-*-go32) targ_emul=i386go32 ;; 127i[3456]86-*-msdosdjgpp*) targ_emul=i386go32 ;; 128i[3456]86-*-aix*) targ_emul=i386coff ;; 129i[3456]86-*-sco*) targ_emul=i386coff ;; 130i[3456]86-*-isc*) targ_emul=i386coff ;; 131i[3456]86-*-lynxos*) targ_emul=i386lynx ;; 132i[3456]86-*-coff) targ_emul=i386coff ;; 133i[3456]86-*-rtemscoff*) targ_emul=i386coff ;; 134i[3456]86-*-rtemself*) targ_emul=elf_i386 ;; 135i[3456]86-*-rtems*) targ_emul=elf_i386 ;; 136i[3456]86-*-bsd) targ_emul=i386bsd ;; 137i[3456]86-*-bsd386) targ_emul=i386bsd ;; 138i[3456]86-*-bsdi*) targ_emul=i386bsd ;; 139i[3456]86-*-aout) targ_emul=i386aout ;; 140i[3456]86-*-linux*aout*) targ_emul=i386linux 141 targ_extra_emuls=elf_i386 142 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` 143 ;; 144i[3456]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; 145i[3456]86-*-linux-gnu*) targ_emul=elf_i386 146 targ_extra_emuls=i386linux 147 tdir_i386linux=${targ_alias}aout 148 ;; 149x86_64-*-linux-gnu*) targ_emul=elf_x86_64 150 targ_extra_emuls="elf_i386 i386linux" 151 targ_extra_libpath=elf_i386 152 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` 153 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` 154 ;; 155i[3456]86-*-sysv[45]*) targ_emul=elf_i386 ;; 156i[3456]86-*-solaris2*) targ_emul=elf_i386_ldso 157 targ_extra_emuls="elf_i386" 158 ;; 159i[3456]86-*-unixware) targ_emul=elf_i386 ;; 160i[3456]86-*-solaris*) targ_emul=elf_i386_ldso 161 targ_extra_emuls="elf_i386" 162 ;; 163i[3456]86-*-netbsdelf*) targ_emul=elf_i386 164 targ_extra_emuls=i386nbsd 165 ;; 166i[3456]86-*-netbsdpe*) targ_emul=i386pe 167 targ_extra_ofiles="deffilep.o pe-dll.o" 168 ;; 169i[3456]86-*-netbsd*) targ_emul=i386nbsd 170 targ_extra_emuls=elf_i386 171 ;; 172x86_64-*-netbsd*) targ_emul=elf_x86_64 173 targ_extra_emuls="elf_i386 i386nbsd" 174 tdir_elf_i386=`echo ${targ_alias} | \ 175 sed -e 's/x86_64/i386/'` 176 case "${tdir_elf_i386}" in 177 *-netbsdelf*) ;; 178 *) 179 tdir_elf_i386=`echo ${tdir_elf_i386} | \ 180 sed -e 's/netbsd/netbsdelf/'` 181 ;; 182 esac 183 ;; 184i[3456]86-*-netware) targ_emul=i386nw ;; 185i[3456]86-*-elf*) targ_emul=elf_i386 ;; 186i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | i[3456]86-*-freebsd[12]) 187 targ_emul=i386bsd ;; 188i[3456]86-*-freebsd*) targ_emul=elf_i386_fbsd 189 targ_extra_emuls="elf_i386 i386bsd" ;; 190x86_64-*-freebsd*) targ_emul=elf_x86_64_fbsd 191 targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386" 192 tdir_elf_i386=`echo ${targ_alias} \ 193 | sed -e 's/x86_64/i386/'` 194 ;; 195i[3456]86-*-sysv*) targ_emul=i386coff ;; 196i[3456]86-*-ptx*) targ_emul=i386coff ;; 197i[3456]86-*-mach*) targ_emul=i386mach ;; 198i[3456]86-*-gnu*) targ_emul=elf_i386 ;; 199i[3456]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; 200i[3456]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; 201i[3456]86-*-winnt*) targ_emul=i386pe ; 202 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 203i[3456]86-*-pe) targ_emul=i386pe ; 204 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 205i[3456]86-*-cygwin*) targ_emul=i386pe ; 206 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 207i[3456]86-*-mingw32*) targ_emul=i386pe ; 208 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 209i[3456]86-*-interix*) targ_emul=i386pe_posix; 210 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 211i[3456]86-*-beospe*) targ_emul=i386beos ;; 212i[3456]86-*-beos*) targ_emul=elf_i386_be ;; 213i[3456]86-*-vxworks*) targ_emul=i386aout ;; 214i[3456]86-*-chaos) targ_emul=elf_i386_chaos ;; 215m8*-*-*) targ_emul=m88kbcs ;; 216a29k-*-udi) targ_emul=sa29200 ;; 217a29k-*-ebmon) targ_emul=ebmon29k ;; 218a29k-*-*) targ_emul=a29k ;; 219# arm-*-riscix*) targ_emul=riscix ;; 220arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; 221armeb-*-aout) targ_emul=armaoutb ;; 222arm-*-coff) targ_emul=armcoff ;; 223arm-*-vxworks) targ_emul=armcoff ;; 224arm-*-freebsd*) targ_emul=armelf_fbsd 225 targ_extra_emuls="armelf" ;; 226armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; 227 targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; 228arm-*-netbsdelf*) targ_emul=armelf_nbsd; 229 targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;; 230arm-*-netbsd*) targ_emul=armnbsd; 231 targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd" ;; 232arm-*-openbsd*) targ_emul=armnbsd ;; 233arm-*-rtems*) targ_emul=armelf ;; 234arm-*-elf) targ_emul=armelf ;; 235arm9e-*-elf) targ_emul=armelf ;; 236arm-*-oabi) targ_emul=armelf_oabi ;; 237arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; 238arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; 239arm*-*-conix*) targ_emul=armelf ;; 240thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; 241strongarm-*-coff) targ_emul=armcoff ;; 242strongarm-*-elf) targ_emul=armelf ;; 243thumb-*-coff) targ_emul=armcoff ;; 244thumb-*-elf) targ_emul=armelf ;; 245thumb-*-oabi) targ_emul=armelf_oabi ;; 246thumb-epoc-pe) targ_emul=arm_epoc_pe ; 247 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 248thumb-*-pe) targ_emul=armpe ; 249 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 250xscale-*-coff) targ_emul=armcoff ;; 251xscale-*-elf) targ_emul=armelf ;; 252h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*) 253 targ_emul=h8300; targ_extra_emuls="h8300h h8300s" 254 ;; 255h8300-*-elf*) 256 targ_emul=h8300elf; 257 targ_extra_emuls="h8300helf h8300self" 258 ;; 259h8500-*-hms* | h8500-*-coff*) 260 targ_emul=h8500 261 targ_extra_emuls="h8500s h8500b h8500m h8500c" 262 ;; 263sh-*-linux*) 264 targ_emul=shlelf_linux 265 targ_extra_emuls=shelf_linux 266 targ_extra_libpath=shelf_linux 267 ;; 268sh*eb-*-linux*) 269 targ_emul=shelf_linux 270 ;; 271sh*-*-linux*) 272 targ_emul=shlelf_linux 273 ;; 274sh5le-*-netbsd*) 275 targ_emul=shlelf32_nbsd 276 targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" 277 ;; 278sh5-*-netbsd*) 279 targ_emul=shelf32_nbsd 280 targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" 281 ;; 282sh64le-*-netbsd*) 283 targ_emul=shlelf64_nbsd 284 targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" 285 ;; 286sh64-*-netbsd*) 287 targ_emul=shelf64_nbsd 288 targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" 289 ;; 290sh*le-*-netbsdelf*) 291 targ_emul=shlelf_nbsd 292 targ_extra_emuls=shelf_nbsd 293 ;; 294sh*-*-netbsdelf*) 295 targ_emul=shelf_nbsd 296 targ_extra_emuls=shlelf_nbsd 297 ;; 298shle*-*-elf* | sh[1234]*le*-*-elf) 299 targ_emul=shlelf 300 targ_extra_emuls="shelf shl sh" 301 ;; 302sh-*-elf* | sh[1234]*-*-elf | sh-*-rtemself*) 303 targ_emul=shelf 304 targ_extra_emuls="shlelf sh shl" 305 ;; 306sh-*-pe) targ_emul=shpe ; 307 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 308sh-*-*|sh-*-rtems*) targ_emul=sh; targ_extra_emuls=shl ;; 309sh64le-*-elf*) 310 targ_emul=shlelf 311 targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64" 312 targ_extra_libpath=$targ_extra_emuls 313 ;; 314sh64-*-elf*) 315 targ_emul=shelf 316 targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64" 317 targ_extra_libpath=$targ_extra_emuls 318 ;; 319m68k-sony-*) targ_emul=news ;; 320m68k-hp-bsd*) targ_emul=hp300bsd ;; 321m68*-motorola-sysv*) targ_emul=delta68 ;; 322m68*-*-aout) targ_emul=m68kaout ;; 323m68*-*-coff) targ_emul=m68kcoff ;; 324m68*-*-elf) targ_emul=m68kelf ;; 325m68*-*-hpux*) targ_emul=hp3hpux ;; 326m68k-*-linux*aout*) targ_emul=m68klinux 327 targ_extra_emuls=m68kelf 328 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` 329 ;; 330m68k-*-linux-gnu*) targ_emul=m68kelf 331 targ_extra_emuls=m68klinux 332 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` 333 ;; 334m68*-*-gnu*) targ_emul=m68kelf ;; 335m68*-*-lynxos*) targ_emul=m68klynx ;; 336m68*-*-netbsd*4k*) targ_emul=m68k4knbsd 337 targ_extra_emuls="m68knbsd m68kelfnbsd" ;; 338m68*-*-netbsdelf*) targ_emul=m68kelfnbsd 339 targ_extra_emuls="m68knbsd m68k4knbsd" ;; 340m68*-*-netbsdaout* | m68*-*-netbsd*) 341 targ_emul=m68knbsd 342 targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; 343m68*-*-psos*) targ_emul=m68kpsos ;; 344m68*-*-rtemscoff*) targ_emul=m68kcoff ;; 345m68*-*-rtems*) targ_emul=m68kelf ;; 346hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;; 347hppa*64*-*) targ_emul=elf64hppa ;; 348hppa*-*-linux-gnu*) targ_emul=hppalinux ;; 349hppa*-*-*elf*) targ_emul=hppaelf ;; 350hppa*-*-lites*) targ_emul=hppaelf ;; 351hppa*-*-netbsd*) targ_emul=hppanbsd ;; 352hppa*-*-openbsd*) targ_emul=hppaobsd ;; 353hppa*-*-rtems*) targ_emul=hppaelf ;; 354vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; 355vax-*-netbsdelf*) targ_emul=elf32vax 356 targ_extra_emuls=vaxnbsd ;; 357vax-*-netbsdaout* | vax-*-netbsd*) 358 targ_emul=vaxnbsd 359 targ_extra_emuls=elf32vax ;; 360mips*-*-pe) targ_emul=mipspe ; 361 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 362mips*-dec-ultrix*) targ_emul=mipslit ;; 363mips*-dec-osf*) targ_emul=mipslit ;; 364mips*-sgi-irix5*) targ_emul=elf32bsmip ;; 365mips*-sgi-irix6*) targ_emul=elf32bmipn32 366 targ_extra_emuls="elf32bsmip elf64bmip" 367 ;; 368mips*-sgi-irix*) targ_emul=mipsbig ;; 369mips*el-*-ecoff*) targ_emul=mipsidtl ;; 370mips*-*-ecoff*) targ_emul=mipsidt ;; 371mips*-dec-bsd*) targ_emul=mipsbsd ;; 372mips*el-*-netbsd*) targ_emul=elf32lmip 373 targ_extra_emuls="elf32bmip" 374 ;; 375mips*-*-netbsd*) targ_emul=elf32bmip 376 targ_extra_emuls="elf32lmip" 377 ;; 378mips*-*-bsd*) targ_emul=mipsbig ;; 379mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; 380mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; 381mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;; 382mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; 383mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; 384mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; 385mips*el-*-elf*) targ_emul=elf32elmip ;; 386mips*-*-elf*) targ_emul=elf32ebmip ;; 387mips*el-*-rtems*) targ_emul=elf32elmip ;; 388mips*-*-rtems*) targ_emul=elf32ebmip ;; 389mips*el-*-vxworks*) targ_emul=elf32elmip ;; 390mips*-*-vxworks*) targ_emul=elf32ebmip ;; 391mips*el-*-linux-gnu*) targ_emul=elf32ltsmip 392 targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip" 393 ;; 394mips*-*-linux-gnu*) targ_emul=elf32btsmip 395 targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" 396 ;; 397mips*-*-lnews*) targ_emul=mipslnews ;; 398mips*-*-sysv4*) targ_emul=elf32btsmip ;; 399mmix-*-*) targ_emul=mmo 400 targ_extra_emuls=elf64mmix 401 ;; 402mn10200-*-*) targ_emul=mn10200 ;; 403mn10300-*-*) targ_emul=mn10300 ;; 404alpha*-*-freebsd*) targ_emul=elf64alpha_fbsd 405 targ_extra_emuls="elf64alpha alpha" 406 tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` 407 ;; 408alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha 409 tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` 410 ;; 411alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha 412 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` 413 ;; 414alpha*-*-osf*) targ_emul=alpha ;; 415alpha*-*-gnu*) targ_emul=elf64alpha ;; 416alpha*-*-netware*) targ_emul=alpha ;; 417alpha*-*-netbsd*) targ_emul=elf64alpha_nbsd ;; 418alpha*-*-openbsd*) targ_emul=elf64alpha ;; 419z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; 420ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; 421ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; 422openrisc-*-*) targ_emul=elf32openrisc ;; 423or32-*-coff) targ_emul=or32 ;; 424or32-*-elf) targ_emul=or32elf ;; 425or32-*-rtems) targ_emul=or32 ;; 426pdp11-*-*) targ_emul=pdp11 ;; 427pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;; 428pj*-*-*) targ_emul=pjelf ;; 429powerpc-*-freebsd*) targ_emul=elf32ppc_fbsd; 430 targ_extra_emuls="elf32ppc elf32ppcsim"; 431 targ_extra_libpath=elf32ppc; 432 tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` 433 ;; 434powerpc*-*-linux*) 435 case "${targ}" in 436 *64*) targ_emul=elf64ppc 437 targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim" 438 targ_extra_libpath=elf32ppclinux 439 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 440 tdir_elf32ppclinux=$tdir_elf32ppc 441 tdir_elf32ppcsim=$tdir_elf32ppc ;; 442 *) targ_emul=elf32ppclinux 443 targ_extra_emuls="elf32ppc elf32ppcsim" 444 targ_extra_libpath=elf32ppc ;; 445 esac ;; 446powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \ 447 | powerpc*le-*-sysv* | powerpc*le-*-vxworks*) 448 case "${targ}" in 449 *64*) targ_emul=elf64lppc 450 targ_extra_emuls="elf32lppc elf32lppcsim" 451 tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'` 452 tdir_elf32lppcsim=$tdir_elf32lppc ;; 453 *) targ_emul=elf32lppc 454 targ_extra_emuls="elf32ppcsim" ;; 455 esac ;; 456powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ 457 | powerpc*-*-netbsd* | powerpc-*-openbsd* | powerpc*-*-vxworks*) 458 case "${targ}" in 459 *64*) targ_emul=elf64ppc 460 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" 461 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` 462 tdir_elf32ppclinux=$tdir_elf32ppc 463 tdir_elf32ppcsim=$tdir_elf32ppc ;; 464 *) targ_emul=elf32ppc 465 targ_extra_emuls="elf32ppclinux elf32ppcsim" ;; 466 esac ;; 467powerpcle-*-rtems*) targ_emul=elf32leppc ;; 468powerpc-*-rtems*) targ_emul=elf32ppc ;; 469powerpc-*-macos*) targ_emul=ppcmacos ;; 470powerpc-*-netware*) targ_emul=ppcnw ;; 471powerpcle-*-pe) targ_emul=ppcpe ;; 472powerpcle-*-winnt*) targ_emul=ppcpe ;; 473powerpcle-*-cygwin*) targ_emul=ppcpe ;; 474powerpc-*-aix5*) targ_emul=aix5ppc ;; 475powerpc-*-aix*) targ_emul=aixppc ;; 476powerpc-*-beos*) targ_emul=aixppc ;; 477powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; 478rs6000-*-aix5*) targ_emul=aix5rs6 ;; 479rs6000-*-aix*) targ_emul=aixrs6 ;; 480tic30-*-*aout*) targ_emul=tic30aout ;; 481tic30-*-*coff*) targ_emul=tic30coff ;; 482tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; 483tic80-*-*) targ_emul=tic80coff ;; 484v850-*-*) targ_emul=v850 ;; 485v850e-*-*) targ_emul=v850 ;; 486v850ea-*-*) targ_emul=v850 ;; 487frv-*-*) targ_emul=elf32frv ;; 488w65-*-*) targ_emul=w65 ;; 489xstormy16-*-*) targ_emul=elf32xstormy16 ;; 490fr30-*-*) targ_emul=elf32fr30 ;; 491mcore-*-pe) targ_emul=mcorepe ; 492 targ_extra_ofiles="deffilep.o pe-dll.o" ;; 493mcore-*-elf) targ_emul=elf32mcore ;; 494s390x-*-linux*) targ_emul=elf64_s390 495 targ_extra_emuls=elf_s390 496 targ_extra_libpath=$targ_extra_emuls 497 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; 498s390-*-linux*) targ_emul=elf_s390 499 if test "${want64}" = "true"; then 500 targ_extra_emuls=elf64_s390 501 targ_extra_libpath=$targ_extra_emuls 502 tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` 503 fi ;; 504*-*-ieee*) targ_emul=vanilla ;; 505 506*) 507 echo 2>&1 "*** ld does not support target ${targ}" 508 echo 2>&1 "*** see ld/configure.tgt for supported targets" 509 exit 1 510 511esac 512