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 11targ_extra_emuls= 12 13case "${targ}" in 14arm-*-pe) targ_emul=armpe ;; 15sparc64-*-aout*) targ_emul=sparcaout ;; 16sparc64-*-elf*) targ_emul=elf64_sparc ;; 17sparc-sun-sunos4*) targ_emul=sun4 ;; 18sparclite*-*-coff) targ_emul=coff_sparc ;; 19sparclite*-fujitsu-*) targ_emul=sparcaout ;; 20sparc*-*-aout) targ_emul=sparcaout ;; 21sparc*-*-coff) targ_emul=coff_sparc ;; 22sparc*-*-elf) targ_emul=elf32_sparc ;; 23sparc*-*-sysv4*) targ_emul=elf32_sparc ;; 24sparc*-*-lynxos*) targ_emul=sparclynx ;; 25sparc*-*-netbsd*) targ_emul=sparcnbsd ;; 26sparc*-*-openbsd*) targ_emul=sparcnbsd ;; 27sparc*-*-solaris2*) targ_emul=elf32_sparc ;; 28sparc*-wrs-vxworks*) targ_emul=sparcaout ;; 29sparc*-*-rtems*) targ_emul=sparcaout ;; 30i960-wrs-vxworks5.0*) targ_emul=gld960 ;; 31i960-wrs-vxworks5*) targ_emul=gld960coff ;; 32i960-wrs-vxworks*) targ_emul=gld960 ;; 33i960-*-coff) targ_emul=gld960coff ;; 34i960-intel-nindy) targ_emul=gld960 ;; 35i960-*-rtems*) targ_emul=gld960coff ;; 36m68*-sun-sunos[34]*) targ_emul=sun3 ;; 37m68*-wrs-vxworks*) targ_emul=sun3 ;; 38m68*-ericsson-ose) targ_emul=sun3 ;; 39m68*-apple-aux*) targ_emul=m68kaux ;; 40*-tandem-none) targ_emul=st2000 ;; 41i[3456]86-*-vsta) targ_emul=vsta ;; 42i[3456]86-go32-rtems*) targ_emul=i386go32 ;; 43i[3456]86-*-go32) targ_emul=i386go32 ;; 44i[3456]86-*-aix*) targ_emul=i386coff ;; 45i[3456]86-*-sco*) targ_emul=i386coff ;; 46i[3456]86-*-isc*) targ_emul=i386coff ;; 47i[3456]86-*-lynxos*) targ_emul=i386lynx ;; 48i[3456]86-*-coff) targ_emul=i386coff ;; 49i[3456]86-*-rtems*) targ_emul=i386coff ;; 50i[3456]86-*-bsd) targ_emul=i386bsd ;; 51i[3456]86-*-bsd386) targ_emul=i386bsd ;; 52i[3456]86-*-bsdi*) targ_emul=i386bsd ;; 53i[3456]86-*-aout) targ_emul=i386aout ;; 54i[3456]86-*-linuxaout*) targ_emul=i386linux 55 targ_extra_emuls=elf_i386 56 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` 57 ;; 58i[3456]86-*-linuxoldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; 59i[3456]86-*-linux*) targ_emul=elf_i386 60 targ_extra_emuls=i386linux 61 tdir_i386linux=${targ_alias}aout 62 ;; 63i[3456]86-*-sysv4*) targ_emul=elf_i386 ;; 64i[3456]86-*-unixware) targ_emul=elf_i386 ;; 65i[3456]86-*-netbsd*) targ_emul=i386nbsd ;; 66i[3456]86-*-openbsd*) targ_emul=i386nbsd ;; 67i[3456]86-*-netware) targ_emul=i386nw ;; 68i[3456]86-*-elf*) targ_emul=elf_i386 ;; 69i[3456]86-*-freebsdelf*) targ_emul=elf_i386 ;; 70i[3456]86-*-sysv*) targ_emul=i386coff ;; 71i[3456]86-*-ptx*) targ_emul=i386coff ;; 72i[3456]86-*-mach*) targ_emul=i386mach ;; 73i[3456]86-*-gnu*) targ_emul=elf_i386; targ_extra_emuls=i386mach ;; 74i[3456]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; 75i[3456]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; 76i[3456]86-*-winnt) targ_emul=i386pe ;; 77i[3456]86-*-pe) targ_emul=i386pe ;; 78i[3456]86-*-cygwin32) targ_emul=i386pe ;; 79m8*-*-*) targ_emul=m88kbcs ;; 80a29k-*-udi) targ_emul=sa29200 ;; 81a29k-*-ebmon) targ_emul=ebmon29k ;; 82a29k-*-*) targ_emul=a29k ;; 83# arm-*-riscix*) targ_emul=riscix ;; 84arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; 85armeb-*-aout) targ_emul=armaoutb ;; 86arm-*-coff) targ_emul=armcoff ;; 87h8300-*-hms) targ_emul=h8300; targ_extra_emuls="h8300h h8300s" 88 ;; 89h8500-*-hms) targ_emul=h8500 90 targ_extra_emuls="h8500s h8500b h8500m h8500c" 91 ;; 92sh-*-elf*) targ_emul=shelf 93 targ_extra_emuls="shlelf sh shl" 94 ;; 95sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; 96m68k-sony-*) targ_emul=news ;; 97m68k-hp-bsd*) targ_emul=hp300bsd ;; 98m68*-motorola-sysv*) targ_emul=delta68 ;; 99m68*-*-aout) targ_emul=m68kaout ;; 100m68*-*-coff) targ_emul=m68kcoff ;; 101m68*-*-elf) targ_emul=m68kelf ;; 102m68*-*-hpux*) targ_emul=hp3hpux ;; 103m68k-*-linuxaout*) targ_emul=m68klinux 104 targ_extra_emuls=m68kelf 105 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` 106 ;; 107m68k-*-linux*) targ_emul=m68kelf 108 targ_extra_emuls=m68klinux 109 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` 110 ;; 111m68*-*-lynxos*) targ_emul=m68klynx ;; 112m68*-hp*-netbsd*) targ_emul=m68k4knbsd ;; 113m68*-hp*-openbsd*) targ_emul=m68k4knbsd ;; 114m68*-*-netbsd*) targ_emul=m68knbsd ;; 115m68*-*-openbsd*) targ_emul=m68knbsd ;; 116m68*-*-psos*) targ_emul=m68kpsos ;; 117m68*-*-rtems*) targ_emul=m68kcoff ;; 118hppa*-*-*elf*) targ_emul=hppaelf ;; 119hppa*-*-lites*) targ_emul=hppaelf ;; 120hppa*-*-openbsd*) targ_emul=hppaelf ;; 121vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; 122mips*-dec-ultrix*) targ_emul=mipslit ;; 123mips*-dec-osf*) targ_emul=mipslit ;; 124mips*-sgi-irix[56]*) targ_emul=elf32bmip ;; 125mips*-sgi-irix*) targ_emul=mipsbig ;; 126mips*el-*-ecoff*) targ_emul=mipsidtl ;; 127mips*-*-ecoff*) targ_emul=mipsidt ;; 128mips*-dec-bsd*) targ_emul=mipsbsd ;; 129mips*-dec-netbsd*) targ_emul=elf32lmip ;; 130mips*el-*-openbsd*) targ_emul=mipsel_obsd ;; 131mips*-*-openbsd*) targ_emul=mipseb_obsd ;; 132# mips*-dec-openbsd*) targ_emul=elf32lmip ;; 133mips*-*-bsd*) targ_emul=mipsbig ;; 134mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; 135mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; 136mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;; 137mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; 138mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; 139mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; 140mips*el-*-elf*) targ_emul=elf32elmip ;; 141mips*-*-elf*) targ_emul=elf32ebmip ;; 142mips*-*-rtems*) targ_emul=elf32ebmip ;; 143alpha-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha 144 tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` 145 ;; 146alpha-*-linux*) targ_emul=elf64alpha targ_extra_emuls=alpha 147 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` 148 ;; 149alpha-*-netbsd*) targ_emul=alphabsd targ_extra_emuls="alpha elf64alpha";; 150alpha-*-openbsd*) targ_emul=alphabsd targ_extra_emuls="alpha";; 151alpha-*-osf*) targ_emul=alpha ;; 152alpha-*-gnu*) targ_emul=elf64alpha ;; 153alpha-*-netware*) targ_emul=alpha ;; 154z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; 155ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; 156ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; 157ns32k-pc532-openbsd*) targ_emul=ns32knbsd ;; 158powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-linux* | powerpc-*-sysv*) 159 targ_emul=elf32ppc ;; 160powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* | powerpcle-*-sysv*) targ_emul=elf32lppc ;; 161powerpc-*-rtems*) targ_emul=elf32ppc ;; 162powerpc-*-macos*) targ_emul=ppcmacos ;; 163powerpc-*-netware*) targ_emul=ppcnw ;; 164powerpcle-*-pe) targ_emul=ppcpe ;; 165powerpcle-*-winnt*) targ_emul=ppcpe ;; 166powerpcle-*-cygwin32) targ_emul=ppcpe ;; 167powerpc-*-aix*) targ_emul=aixppc ;; 168rs6000-*-aix*) targ_emul=aixrs6 ;; 169w65-*-*) targ_emul=w65 ;; 170*-*-aout) targ_emul=${target_cpu}-${target_vendor} ;; 171*-*-coff) targ_emul=${target_cpu}-${target_vendor} ;; 172*-*-netware) targ_emul=${target_cpu}-nw ;; 173*-*-ieee*) targ_emul=vanilla ;; 174 175*) 176 echo 2>&1 "*** ld does not support target ${targ}" 177 echo 2>&1 "*** see ld/configure.tgt for supported targets" 178 exit 1 179 180esac 181