| 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 | |
| 11 | targ_extra_emuls= |
| 12 | |
| 13 | case "${targ}" in |
| 14 | arm-*-pe) targ_emul=armpe ;; |
| 15 | # start-sanitize-arc |
| 16 | arc-*-elf*) targ_emul=arcelf ;; |
| 17 | # end-sanitize-arc |
| 18 | sparc-sun-sunos4*) targ_emul=sun4 ;; |
| 19 | sparclite*-*-coff) targ_emul=coff_sparc ;; |
| 20 | sparclite*-fujitsu-*) targ_emul=sun4 ;; |
| 21 | sparc*-*-aout) targ_emul=sun4 ;; |
| 22 | sparc*-*-coff) targ_emul=coff_sparc ;; |
| 23 | sparc64-*-elf*) targ_emul=elf64_sparc ;; |
| 24 | sparc64*) targ_emul=sun4 ;; |
| 25 | sparc*-*-elf) targ_emul=elf32_sparc ;; |
| 26 | sparc*-*-lynxos*) targ_emul=sparclynx ;; |
| 27 | sparc*-*-netbsd*) targ_emul=sparcnbsd ;; |
| 28 | sparc*-*-solaris2*) targ_emul=elf32_sparc ;; |
| 29 | sparc*-wrs-vxworks*) targ_emul=sun4 ;; |
| 30 | i960-wrs-vxworks5.0*) targ_emul=gld960 ;; |
| 31 | i960-wrs-vxworks5*) targ_emul=gld960coff ;; |
| 32 | i960-wrs-vxworks*) targ_emul=gldi960 ;; |
| 33 | i960-*-coff) targ_emul=gld960coff ;; |
| 34 | i960-intel-nindy) targ_emul=gldi960 ;; |
| 35 | m68*-sun-sunos[34]*) targ_emul=sun3 ;; |
| 36 | m68*-wrs-vxworks*) targ_emul=sun3 ;; |
| 37 | m68*-ericsson-ose) targ_emul=sun3 ;; |
| 38 | *-tandem-none) targ_emul=st2000 ;; |
| 39 | i[345]86-*-vsta) targ_emul=vsta ;; |
| 40 | i[345]86-*-go32) targ_emul=i386go32 ;; |
| 41 | i[345]86-*-aix*) targ_emul=i386coff ;; |
| 42 | i[345]86-*-sco*) targ_emul=i386coff ;; |
| 43 | i[345]86-*-lynxos*) targ_emul=i386lynx ;; |
| 44 | i[345]86-*-coff) targ_emul=i386coff ;; |
| 45 | i[345]86-*-bsd) targ_emul=i386bsd ;; |
| 46 | i[345]86-*-bsd386) targ_emul=i386bsd ;; |
| 47 | i[345]86-*-bsdi*) targ_emul=i386bsd ;; |
| 48 | i[345]86-*-aout) targ_emul=i386aout ;; |
| 49 | i[345]86-*-linuxaout*) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; |
| 50 | i[345]86-*-linuxoldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; |
| 51 | i[345]86-*-linux*) targ_emul=elf_i386; targ_extra_emuls=i386linux ;; |
| 52 | i[345]86-*-sysv4*) targ_emul=elf_i386 ;; |
| 53 | i[345]86-*-unixware) targ_emul=elf_i386 ;; |
| 54 | i[345]86-*-netbsd*) targ_emul=i386nbsd ;; |
| 55 | i[345]86-*-netware) targ_emul=i386nw ;; |
| 56 | i[345]86-*-elf*) targ_emul=elf_i386 ;; |
| 57 | i[345]86-*-sysv*) targ_emul=i386coff ;; |
| 58 | i[345]86-*-ptx*) targ_emul=i386coff ;; |
| 59 | i[345]86-*-mach*) targ_emul=i386mach ;; |
| 60 | i[345]86-*-gnu*) targ_emul=elf_i386; targ_extra_emuls=i386mach ;; |
| 61 | i[345]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; |
| 62 | i[345]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; |
| 63 | i[345]86-*-winnt) targ_emul=i386pe ;; |
| 64 | i[345]86-*-pe) targ_emul=i386pe ;; |
| 65 | i[345]86-*-win32) targ_emul=i386pe ;; |
| 66 | m8*-*-*) targ_emul=m88kbcs ;; |
| 67 | a29k-*-udi) targ_emul=sa29200 ;; |
| 68 | a29k-*-ebmon) targ_emul=ebmon29k ;; |
| 69 | a29k-*-*) targ_emul=a29k ;; |
| 70 | # arm-*-riscix*) targ_emul=riscix ;; |
| 71 | arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; |
| 72 | armeb-*-aout) targ_emul=armaoutb ;; |
| 73 | arm-*-coff) targ_emul=armcoff ;; |
| 74 | h8300-*-hms) targ_emul=h8300; targ_extra_emuls=h8300h ;; |
| 75 | h8500-*-hms) targ_emul=h8500 |
| 76 | targ_extra_emuls="h8500s h8500b h8500m h8500c" |
| 77 | ;; |
| 78 | sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; |
| 79 | # start-sanitize-rce |
| 80 | rce-*-aout) targ_emul=rce ;; |
| 81 | # end-sanitize-rce |
| 82 | m68k-sony-*) targ_emul=news ;; |
| 83 | m68k-hp-bsd*) targ_emul=hp300bsd ;; |
| 84 | m68*-motorola-sysv*) targ_emul=delta68 ;; |
| 85 | m68*-*-aout) targ_emul=m68kaout ;; |
| 86 | m68*-*-coff) targ_emul=m68kcoff ;; |
| 87 | m68*-*-elf) targ_emul=m68kelf ;; |
| 88 | m68*-*-hpux*) targ_emul=hp3hpux ;; |
| 89 | m68*-*-lynxos*) targ_emul=m68klynx ;; |
| 90 | m68*-hp*-netbsd*) targ_emul=m68k4knbsd ;; |
| 91 | m68*-*-netbsd*) targ_emul=m68knbsd ;; |
| 92 | hppa*-*-*elf*) targ_emul=hppaelf ;; |
| 93 | hppa*-*-lites*) targ_emul=hppaelf ;; |
| 94 | vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; |
| 95 | mips*-dec-ultrix*) targ_emul=mipslit ;; |
| 96 | mips*-sgi-irix5*) targ_emul=elf32bmip ;; |
| 97 | mips*-sgi-irix*) targ_emul=mipsbig ;; |
| 98 | mips*el-*-ecoff*) targ_emul=mipsidtl ;; |
| 99 | mips*-*-ecoff*) targ_emul=mipsidt ;; |
| 100 | mips*-dec-bsd*) targ_emul=mipsbsd ;; |
| 101 | mips*-dec-netbsd*) targ_emul=elf32lmip ;; |
| 102 | mips*-*-bsd*) targ_emul=mipsbig ;; |
| 103 | mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;; |
| 104 | mips*vr4300-*-elf*) targ_emul=elf32b4300 ;; |
| 105 | mips*el-*-elf*) targ_emul=elf32lmip ;; |
| 106 | mips*-*-elf*) targ_emul=elf32bmip ;; |
| 107 | alpha-*-linux*) targ_emul=alpha ;; |
| 108 | alpha-*-osf*) targ_emul=alpha ;; |
| 109 | alpha-*-netware*) targ_emul=alpha ;; |
| 110 | z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; |
| 111 | ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532machaout ;; |
| 112 | ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; |
| 113 | powerpc-*-elf* | powerpc-*-eabi*) targ_emul=elf32ppc ;; |
| 114 | powerpcle-*-elf* | powerpcle-*-eabi*) targ_emul=elf32lppc ;; |
| 115 | powerpc-*-netware*) targ_emul=ppcnw ;; |
| 116 | powerpc-*-aix*) targ_emul=aixppc ;; |
| 117 | rs6000-*-aix*) targ_emul=aixrs6 ;; |
| 118 | w65-*-*) targ_emul=w65 ;; |
| 119 | *-*-aout) targ_emul=${target_cpu}-${target_vendor} ;; |
| 120 | *-*-coff) targ_emul=${target_cpu}-${target_vendor} ;; |
| 121 | *-*-netware) targ_emul=${target_cpu}-nw ;; |
| 122 | |
| 123 | *) |
| 124 | echo 2>&1 "*** ld does not support target ${targ}" |
| 125 | echo 2>&1 "*** see ld/configure.tgt for supported targets" |
| 126 | exit 1 |
| 127 | |
| 128 | esac |