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