xref: /openbsd/gnu/usr.bin/binutils/ld/configure.tgt (revision f2dfb0a4)
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