2004-04-17 Randolph Chung <tausq@debian.org>
[deliverable/binutils-gdb.git] / ld / configure.tgt
CommitLineData
252b5132
RH
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
3336653a 10# targ_extra_libpath additional linker emulations using LIB_PATH
252b5132 11# targ_extra_ofiles additional objects needed by the emulation
9c8ebd6a
DJ
12# NATIVE_LIB_DIRS library directories to search on this host
13# (if we are a native or sysrooted linker)
252b5132
RH
14
15targ_extra_emuls=
16targ_extra_ofiles=
17
18case "${targ}" in
4a096548 19am33_2.0-*-linux*) targ_emul=elf32am33lin ;;
252b5132
RH
20arm-epoc-pe) targ_emul=arm_epoc_pe ;
21 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
344a211f
NC
22arm-*-wince) targ_emul=armpe ;
23 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
252b5132
RH
24arm-*-pe) targ_emul=armpe ;
25 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
26arc-*-elf*) targ_emul=arcelf ;;
75ca919a
MM
27avr-*-*) targ_emul=avr2
28 targ_extra_emuls="avr1 avr3 avr4 avr5" ;;
0949843d 29cr16c-*-elf*) targ_emul=elf32cr16c ;;
1268a053 30cris-*-*aout*) targ_emul=crisaout
9d06555c
HPN
31 targ_extra_emuls="criself crislinux"
32 targ_extra_libpath=$targ_extra_emuls ;;
b826ae22 33cris-*-linux-gnu*) targ_emul=crislinux ;;
1268a053
HPN
34cris-*-*) targ_emul=criself
35 targ_extra_emuls="crisaout crislinux"
36 targ_extra_libpath=$targ_extra_emuls ;;
252b5132
RH
37d10v-*-*) targ_emul=d10velf ;;
38d30v-*-*ext*) targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;;
39d30v-*-*onchip*) targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;;
40d30v-*-*) targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" ;;
d172d4ba 41dlx-*-elf*) targ_emul=elf32_dlx ;;
252b5132
RH
42sparc64-*-aout*) targ_emul=sparcaout ;;
43sparc64-*-elf*) targ_emul=elf64_sparc ;;
44sparc-sun-sunos4*) targ_emul=sun4 ;;
45sparclite*-*-elf) targ_emul=elf32_sparc ;;
46sparclite*-*-coff) targ_emul=coff_sparc ;;
47sparclite*-fujitsu-*) targ_emul=sparcaout ;;
48sparc*-*-aout) targ_emul=sparcaout ;;
49sparc*-*-coff) targ_emul=coff_sparc ;;
50sparc*-*-elf) targ_emul=elf32_sparc ;;
51sparc*-*-sysv4*) targ_emul=elf32_sparc ;;
13dfd2d0 52sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu)
ac3e50bf
DB
53 targ_emul=elf64_sparc_fbsd
54 targ_extra_emuls="elf64_sparc elf32_sparc"
fb33b906
DB
55 targ_extra_libpath=$targ_extra_emuls
56 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
57 ;;
252b5132
RH
58sparc*-*-linux*aout*) targ_emul=sparclinux
59 targ_extra_emuls="elf32_sparc sun4"
60 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
61 tdir_sun4=sparc-sun-sunos4
62 ;;
63sparc64-*-linux-gnu*) targ_emul=elf64_sparc
64 targ_extra_emuls="elf32_sparc sparclinux sun4"
780248c4 65 targ_extra_libpath=elf32_sparc
252b5132
RH
66 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
67 tdir_sparclinux=${tdir_elf32_sparc}aout
68 tdir_sun4=sparc-sun-sunos4
69 ;;
70sparc*-*-linux-gnu*) targ_emul=elf32_sparc
ad51fb57 71 targ_extra_emuls="sparclinux elf64_sparc sun4"
780248c4 72 targ_extra_libpath=elf64_sparc
252b5132 73 tdir_sparclinux=${targ_alias}aout
ad51fb57 74 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`
252b5132
RH
75 tdir_sun4=sparc-sun-sunos4
76 ;;
77sparc*-*-lynxos*) targ_emul=sparclynx ;;
c29ef4b5
AM
78sparc64-*-netbsd* | sparc64-*-openbsd*)
79 targ_emul=elf64_sparc
cf86e6df
AM
80 targ_extra_emuls="elf32_sparc"
81 ;;
d8475ff6 82sparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;;
252b5132 83sparc*-*-netbsd*) targ_emul=sparcnbsd ;;
a1836d49
AO
84sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
85 targ_emul=elf32_sparc ;;
86sparc-*-solaris2*) targ_emul=elf32_sparc
87 targ_extra_emuls="elf64_sparc"
88 targ_extra_libpath=$targ_extra_emuls
89 tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`
90 ;;
91sparcv9-*-solaris2* | sparc64-*-solaris2*)
92 targ_emul=elf64_sparc
93 targ_extra_emuls="elf32_sparc"
94 targ_extra_libpath=$targ_extra_emuls
95 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
96 ;;
252b5132
RH
97sparc*-*-solaris2*) targ_emul=elf32_sparc ;;
98sparc*-wrs-vxworks*) targ_emul=sparcaout ;;
24f6971a
NC
99sparc*-*-rtemsaout*) targ_emul=sparcaout ;;
100sparc*-*-rtemself*) targ_emul=elf32_sparc ;;
101sparc*-*-rtems*) targ_emul=elf32_sparc ;;
9d7e2ba5 102i860-*-coff) targ_emul=coff_i860 ;;
165589e4
JE
103i860-stardent-sysv4* | i860-stardent-elf*)
104 targ_emul=elf32_i860 ;;
252b5132
RH
105i960-wrs-vxworks5.0*) targ_emul=gld960 ;;
106i960-wrs-vxworks5*) targ_emul=gld960coff ;;
107i960-wrs-vxworks*) targ_emul=gld960 ;;
108i960-*-coff) targ_emul=gld960coff ;;
109i960-intel-nindy) targ_emul=gld960 ;;
110i960-*-rtems*) targ_emul=gld960coff ;;
0ccf812a 111i960-*-elf*) targ_emul=elf32_i960 ;;
800eeca4 112ia64-*-elf*) targ_emul=elf64_ia64 ;;
13dfd2d0
NC
113ia64-*-freebsd* | ia64-*-kfreebsd*-gnu)
114 targ_emul=elf64_ia64_fbsd
ac3e50bf 115 targ_extra_emuls="elf64_ia64" ;;
9596feea 116ia64-*-netbsd*) targ_emul=elf64_ia64 ;;
800eeca4 117ia64-*-linux*) targ_emul=elf64_ia64 ;;
41c49998 118ia64-*-aix*) targ_emul=elf64_aix ;;
6edf0760
NC
119m32r*le-*-elf*) targ_emul=m32rlelf ;;
120m32r*-*-elf*) targ_emul=m32relf ;;
121m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
122m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
60bcf0fa
NC
123m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
124 targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
125m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
126 targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;;
252b5132
RH
127m68*-sun-sunos[34]*) targ_emul=sun3 ;;
128m68*-wrs-vxworks*) targ_emul=sun3 ;;
129m68*-ericsson-ose) targ_emul=sun3 ;;
130m68*-apple-aux*) targ_emul=m68kaux ;;
131*-tandem-none) targ_emul=st2000 ;;
5b93d8bb 132i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
80c7c40a
NC
133i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
134i[3-7]86-*-vsta) targ_emul=vsta ;;
135i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
136i[3-7]86-*-go32) targ_emul=i386go32 ;;
137i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
138i[3-7]86-*-aix*) targ_emul=i386coff ;;
139i[3-7]86-*-sco*) targ_emul=i386coff ;;
140i[3-7]86-*-isc*) targ_emul=i386coff ;;
141i[3-7]86-*-lynxos*) targ_emul=i386lynx ;;
142i[3-7]86-*-coff) targ_emul=i386coff ;;
143i[3-7]86-*-rtemscoff*) targ_emul=i386coff ;;
144i[3-7]86-*-rtemself*) targ_emul=elf_i386 ;;
145i[3-7]86-*-rtems*) targ_emul=elf_i386 ;;
146i[3-7]86-*-aros*) targ_emul=elf_i386 ;;
147i[3-7]86-*-bsd) targ_emul=i386bsd ;;
148i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
149i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
150i[3-7]86-*-aout) targ_emul=i386aout ;;
151i[3-7]86-*-linux*aout*) targ_emul=i386linux
252b5132
RH
152 targ_extra_emuls=elf_i386
153 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
154 ;;
80c7c40a
NC
155i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
156i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
252b5132 157 targ_extra_emuls=i386linux
39a2a3eb
L
158 if test x${want64} = xtrue; then
159 targ_extra_emuls="$targ_extra_emuls elf_x86_64"
160 fi
252b5132
RH
161 tdir_i386linux=${targ_alias}aout
162 ;;
2be3aa03
NC
163x86_64-*-linux-gnu*) targ_emul=elf_x86_64
164 targ_extra_emuls="elf_i386 i386linux"
beb43bb9
JH
165 targ_extra_libpath=elf_i386
166 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
167 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
2be3aa03 168 ;;
80c7c40a
NC
169i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 ;;
170i[3-7]86-*-solaris2*) targ_emul=elf_i386_ldso
506eee22
NC
171 targ_extra_emuls="elf_i386"
172 ;;
80c7c40a
NC
173i[3-7]86-*-unixware) targ_emul=elf_i386 ;;
174i[3-7]86-*-solaris*) targ_emul=elf_i386_ldso
506eee22
NC
175 targ_extra_emuls="elf_i386"
176 ;;
4615568e
NC
177i[3-7]86-*-netbsdelf* | \
178i[3-7]86-*-netbsd*-gnu* | \
179i[3-7]86-*-knetbsd*-gnu)
a06a29f2 180 targ_emul=elf_i386
9ffecff1
MG
181 targ_extra_emuls=i386nbsd
182 ;;
80c7c40a 183i[3-7]86-*-netbsdpe*) targ_emul=i386pe
436e8db0
NC
184 targ_extra_ofiles="deffilep.o pe-dll.o"
185 ;;
80c7c40a 186i[3-7]86-*-netbsd*) targ_emul=i386nbsd
9ffecff1
MG
187 targ_extra_emuls=elf_i386
188 ;;
8a8b2d4b
AJ
189x86_64-*-netbsd*) targ_emul=elf_x86_64
190 targ_extra_emuls="elf_i386 i386nbsd"
191 tdir_elf_i386=`echo ${targ_alias} | \
192 sed -e 's/x86_64/i386/'`
193 case "${tdir_elf_i386}" in
194 *-netbsdelf*) ;;
195 *)
196 tdir_elf_i386=`echo ${tdir_elf_i386} | \
197 sed -e 's/netbsd/netbsdelf/'`
198 ;;
199 esac
200 ;;
80c7c40a
NC
201i[3-7]86-*-netware) targ_emul=i386nw ;;
202i[3-7]86-*-elf*) targ_emul=elf_i386 ;;
203i[3-7]86-*-kaos*) targ_emul=elf_i386 ;;
204i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12])
2641b0c9 205 targ_emul=i386bsd ;;
13dfd2d0
NC
206i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
207 targ_emul=elf_i386_fbsd
ac3e50bf 208 targ_extra_emuls="elf_i386 i386bsd" ;;
13dfd2d0
NC
209x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
210 targ_emul=elf_x86_64_fbsd
ac3e50bf
DB
211 targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386"
212 tdir_elf_i386=`echo ${targ_alias} \
213 | sed -e 's/x86_64/i386/'`
fb33b906 214 ;;
80c7c40a
NC
215i[3-7]86-*-sysv*) targ_emul=i386coff ;;
216i[3-7]86-*-ptx*) targ_emul=i386coff ;;
217i[3-7]86-*-mach*) targ_emul=i386mach ;;
218i[3-7]86-*-gnu*) targ_emul=elf_i386 ;;
219i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
220i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
221i[3-7]86-*-winnt*) targ_emul=i386pe ;
252b5132 222 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
80c7c40a 223i[3-7]86-*-pe) targ_emul=i386pe ;
252b5132 224 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
80c7c40a 225i[3-7]86-*-cygwin*) targ_emul=i386pe ;
f8b0dbb8
CF
226 targ_extra_ofiles="deffilep.o pe-dll.o"
227 test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
80c7c40a 228i[3-7]86-*-mingw32*) targ_emul=i386pe ;
252b5132 229 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
80c7c40a 230i[3-7]86-*-interix*) targ_emul=i386pe_posix;
a7e78dae 231 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
80c7c40a
NC
232i[3-7]86-*-beospe*) targ_emul=i386beos ;;
233i[3-7]86-*-beos*) targ_emul=elf_i386_be ;;
325fab4e 234i[3-7]86-*-vxworks*) targ_emul=elf_i386 ;;
80c7c40a 235i[3-7]86-*-chaos) targ_emul=elf_i386_chaos ;;
252b5132
RH
236m8*-*-*) targ_emul=m88kbcs ;;
237a29k-*-udi) targ_emul=sa29200 ;;
238a29k-*-ebmon) targ_emul=ebmon29k ;;
239a29k-*-*) targ_emul=a29k ;;
240# arm-*-riscix*) targ_emul=riscix ;;
241arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
242armeb-*-aout) targ_emul=armaoutb ;;
243arm-*-coff) targ_emul=armcoff ;;
13dfd2d0
NC
244arm-*-freebsd* | arm-*-kfreebsd*-gnu)
245 targ_emul=armelf_fbsd
ac3e50bf 246 targ_extra_emuls="armelf" ;;
658f2588
JT
247armeb-*-netbsdelf*) targ_emul=armelfb_nbsd;
248 targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
3695c299 249arm-*-netbsdelf*) targ_emul=armelf_nbsd;
658f2588 250 targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;;
3695c299 251arm-*-netbsd*) targ_emul=armnbsd;
658f2588 252 targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd" ;;
ed71e111 253arm-*-nto*) targ_emul=armnto ;;
056a1d49 254arm-*-openbsd*) targ_emul=armnbsd ;;
24f6971a 255arm-*-rtems*) targ_emul=armelf ;;
d2012d17 256armeb-*-elf) targ_emul=armelfb ;;
325fab4e
NC
257arm-*-elf | arm-*-vxworks)
258 targ_emul=armelf ;;
42b5d0ea 259arm-*-kaos*) targ_emul=armelf ;;
45cf6f3e 260arm9e-*-elf) targ_emul=armelf ;;
5fa803d3 261arm-*-oabi) targ_emul=armelf_oabi ;;
d2012d17 262arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
69f03d65 263arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
5fa803d3 264arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
0decc840 265arm*-*-conix*) targ_emul=armelf ;;
5fa803d3 266thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
252b5132
RH
267strongarm-*-coff) targ_emul=armcoff ;;
268strongarm-*-elf) targ_emul=armelf ;;
42b5d0ea 269strongarm-*-kaos*) targ_emul=armelf ;;
252b5132
RH
270thumb-*-coff) targ_emul=armcoff ;;
271thumb-*-elf) targ_emul=armelf ;;
272thumb-*-oabi) targ_emul=armelf_oabi ;;
273thumb-epoc-pe) targ_emul=arm_epoc_pe ;
274 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
275thumb-*-pe) targ_emul=armpe ;
276 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
077b8428
NC
277xscale-*-coff) targ_emul=armcoff ;;
278xscale-*-elf) targ_emul=armelf ;;
0b3a6a28 279h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*)
f4984206 280 targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn"
252b5132 281 ;;
8af6dd41
JR
282h8300-*-elf*)
283 targ_emul=h8300elf;
f4984206 284 targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf"
8af6dd41 285 ;;
0b3a6a28 286h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*)
252b5132
RH
287 targ_emul=h8500
288 targ_extra_emuls="h8500s h8500b h8500m h8500c"
289 ;;
4a428502 290sh-*-linux*)
3a9091c4
NC
291 targ_emul=shlelf_linux
292 targ_extra_emuls=shelf_linux
7649aa50
NC
293 targ_extra_libpath=shelf_linux
294 ;;
a2b3c630
SC
295sh64eb-*-linux*) targ_emul=shelf32_linux
296 targ_extra_emuls="shlelf32_linux"
297 ;;
298sh64-*-linux*) targ_emul=shlelf32_linux
299 targ_extra_emuls="shelf32_linux"
300 targ_extra_libpath=shelf32_linux
301 ;;
7649aa50
NC
302sh*eb-*-linux*)
303 targ_emul=shelf_linux
304 ;;
305sh*-*-linux*)
306 targ_emul=shlelf_linux
4a428502 307 ;;
5b0e55b6
JT
308sh5le-*-netbsd*)
309 targ_emul=shlelf32_nbsd
310 targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd"
311 ;;
312sh5-*-netbsd*)
313 targ_emul=shelf32_nbsd
314 targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd"
315 ;;
316sh64le-*-netbsd*)
317 targ_emul=shlelf64_nbsd
318 targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd"
319 ;;
320sh64-*-netbsd*)
321 targ_emul=shelf64_nbsd
322 targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd"
323 ;;
cea3d58d 324sh*l*-*-netbsdelf*)
8d05742f
JT
325 targ_emul=shlelf_nbsd
326 targ_extra_emuls=shelf_nbsd
327 ;;
328sh*-*-netbsdelf*)
329 targ_emul=shelf_nbsd
330 targ_extra_emuls=shlelf_nbsd
331 ;;
42b5d0ea 332shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*)
7a33bc10
JR
333 targ_emul=shlelf
334 targ_extra_emuls="shelf shl sh"
335 ;;
9183ed4b
AM
336sh-*-rtemscoff*) targ_emul=sh; targ_extra_emuls=shl ;;
337sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos* | sh-*-vxworks)
de24ad21 338 targ_emul=shelf
252b5132
RH
339 targ_extra_emuls="shlelf sh shl"
340 ;;
ed71e111
NC
341sh-*-nto*) targ_emul=shelf_nto
342 targ_extra_emuls=shlelf_nto
343 ;;
344a211f
NC
344sh-*-pe) targ_emul=shpe ;
345 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
9183ed4b 346sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;;
7a33bc10
JR
347sh64le-*-elf*)
348 targ_emul=shlelf
349 targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64"
350 targ_extra_libpath=$targ_extra_emuls
351 ;;
2d92cb7d
AO
352sh64-*-elf*)
353 targ_emul=shelf
354 targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64"
355 targ_extra_libpath=$targ_extra_emuls
356 ;;
252b5132
RH
357m68k-sony-*) targ_emul=news ;;
358m68k-hp-bsd*) targ_emul=hp300bsd ;;
359m68*-motorola-sysv*) targ_emul=delta68 ;;
360m68*-*-aout) targ_emul=m68kaout ;;
361m68*-*-coff) targ_emul=m68kcoff ;;
362m68*-*-elf) targ_emul=m68kelf ;;
363m68*-*-hpux*) targ_emul=hp3hpux ;;
364m68k-*-linux*aout*) targ_emul=m68klinux
365 targ_extra_emuls=m68kelf
366 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
367 ;;
368m68k-*-linux-gnu*) targ_emul=m68kelf
369 targ_extra_emuls=m68klinux
370 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
371 ;;
b50c15dc 372m68k-*-uclinux*) targ_emul=m68kelf ;;
252b5132
RH
373m68*-*-gnu*) targ_emul=m68kelf ;;
374m68*-*-lynxos*) targ_emul=m68klynx ;;
0b69cd08
MG
375m68*-*-netbsd*4k*) targ_emul=m68k4knbsd
376 targ_extra_emuls="m68knbsd m68kelfnbsd" ;;
377m68*-*-netbsdelf*) targ_emul=m68kelfnbsd
378 targ_extra_emuls="m68knbsd m68k4knbsd" ;;
379m68*-*-netbsdaout* | m68*-*-netbsd*)
380 targ_emul=m68knbsd
381 targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;;
252b5132 382m68*-*-psos*) targ_emul=m68kpsos ;;
d43ded80
PB
383m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
384m68*-*-rtems*) targ_emul=m68kelf ;;
9f22353f 385hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
0b76fe77 386hppa*64*-*) targ_emul=elf64hppa ;;
4900fc06 387hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
252b5132
RH
388hppa*-*-*elf*) targ_emul=hppaelf ;;
389hppa*-*-lites*) targ_emul=hppaelf ;;
006336b8 390hppa*-*-netbsd*) targ_emul=hppanbsd ;;
c29ef4b5 391hppa*-*-openbsd*) targ_emul=hppaobsd ;;
252b5132
RH
392hppa*-*-rtems*) targ_emul=hppaelf ;;
393vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;;
ab68f3e0
JT
394vax-*-netbsdelf*) targ_emul=elf32vax
395 targ_extra_emuls=vaxnbsd ;;
396vax-*-netbsdaout* | vax-*-netbsd*)
397 targ_emul=vaxnbsd
398 targ_extra_emuls=elf32vax ;;
f8fc3443 399vax-*-linux-gnu*) targ_emul=elf32vax ;;
344a211f
NC
400mips*-*-pe) targ_emul=mipspe ;
401 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
252b5132
RH
402mips*-dec-ultrix*) targ_emul=mipslit ;;
403mips*-dec-osf*) targ_emul=mipslit ;;
dc831978
MM
404mips*-sgi-irix5*) targ_emul=elf32bsmip ;;
405mips*-sgi-irix6*) targ_emul=elf32bmipn32
22c675a7 406 targ_extra_emuls="elf32bsmip elf64bmip"
728fa2f6 407 targ_extra_libpath=$targ_extra_emuls
dc831978 408 ;;
252b5132
RH
409mips*-sgi-irix*) targ_emul=mipsbig ;;
410mips*el-*-ecoff*) targ_emul=mipsidtl ;;
411mips*-*-ecoff*) targ_emul=mipsidt ;;
cf86e6df 412mips*el-*-netbsd*) targ_emul=elf32lmip
9fb9af6e
CD
413 targ_extra_emuls="elf32bmip"
414 ;;
415mips*-*-netbsd*) targ_emul=elf32bmip
416 targ_extra_emuls="elf32lmip"
417 ;;
252b5132
RH
418mips*-*-bsd*) targ_emul=mipsbig ;;
419mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;;
420mips*vr4300-*-elf*) targ_emul=elf32b4300 ;;
421mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;;
422mips*vr4100-*-elf*) targ_emul=elf32b4300 ;;
423mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;;
424mips*vr5000-*-elf*) targ_emul=elf32b4300 ;;
425mips*el-*-elf*) targ_emul=elf32elmip ;;
426mips*-*-elf*) targ_emul=elf32ebmip ;;
de24ad21 427mips*el-*-rtems*) targ_emul=elf32elmip ;;
252b5132 428mips*-*-rtems*) targ_emul=elf32ebmip ;;
41d390a7 429mips*el-*-vxworks*) targ_emul=elf32elmip ;;
325fab4e
NC
430mips*-*-vxworks*) targ_emul=elf32ebmip
431 targ_extra_emuls="elf32elmip" ;;
432mips*-*-windiss) targ_emul=elf32mipswindiss ;;
7808a785
TS
433mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
434 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
435 ;;
436mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
437 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
438 ;;
fdec3cfc 439mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
e9229007 440 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
252b5132 441 ;;
fdec3cfc 442mips*-*-linux-gnu*) targ_emul=elf32btsmip
e9229007 443 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
252b5132
RH
444 ;;
445mips*-*-lnews*) targ_emul=mipslnews ;;
3548145d 446mips*-*-sysv4*) targ_emul=elf32btsmip ;;
3c3bdf30
NC
447mmix-*-*) targ_emul=mmo
448 targ_extra_emuls=elf64mmix
449 ;;
252b5132
RH
450mn10200-*-*) targ_emul=mn10200 ;;
451mn10300-*-*) targ_emul=mn10300 ;;
3b260895
NC
452msp430-*-*) targ_emul=msp430x110
453 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" ;;
13dfd2d0
NC
454alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
455 targ_emul=elf64alpha_fbsd
ac3e50bf 456 targ_extra_emuls="elf64alpha alpha"
fb33b906
DB
457 tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'`
458 ;;
252b5132
RH
459alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha
460 tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
461 ;;
462alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
463 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
464 ;;
465alpha*-*-osf*) targ_emul=alpha ;;
466alpha*-*-gnu*) targ_emul=elf64alpha ;;
467alpha*-*-netware*) targ_emul=alpha ;;
fc18a3f3 468alpha*-*-netbsd*) targ_emul=elf64alpha_nbsd ;;
c29ef4b5 469alpha*-*-openbsd*) targ_emul=elf64alpha ;;
252b5132
RH
470z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;;
471ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;;
aa501e5c 472ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
c7e40348 473openrisc-*-*) targ_emul=elf32openrisc ;;
3b16e843
NC
474or32-*-coff) targ_emul=or32 ;;
475or32-*-elf) targ_emul=or32elf ;;
5e37cc46 476or32-*-rtems) targ_emul=or32 ;;
5c67d4bb
AM
477pdp11-*-*) targ_emul=pdp11 ;;
478pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;;
479pj*-*-*) targ_emul=pjelf ;;
13dfd2d0
NC
480powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
481 targ_emul=elf32ppc_fbsd;
ac3e50bf 482 targ_extra_emuls="elf32ppc elf32ppcsim";
fb33b906
DB
483 targ_extra_libpath=elf32ppc;
484 tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'`
485 ;;
5c67d4bb
AM
486powerpc*-*-linux*)
487 case "${targ}" in
488 *64*) targ_emul=elf64ppc
eb3d6bb8 489 targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
276e5094 490 targ_extra_libpath="elf32ppclinux elf32ppc"
eb3d6bb8
AM
491 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
492 tdir_elf32ppclinux=$tdir_elf32ppc
493 tdir_elf32ppcsim=$tdir_elf32ppc ;;
5c67d4bb
AM
494 *) targ_emul=elf32ppclinux
495 targ_extra_emuls="elf32ppc elf32ppcsim"
ebc6e014
L
496 targ_extra_libpath=elf32ppc
497 if test "${want64}" = "true"; then
498 targ_extra_emuls="$targ_extra_emuls elf64ppc"
276e5094 499 targ_extra_libpath="$targ_extra_libpath elf64ppc"
ebc6e014
L
500 fi
501 ;;
5c67d4bb
AM
502 esac ;;
503powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \
504 | powerpc*le-*-sysv* | powerpc*le-*-vxworks*)
505 case "${targ}" in
506 *64*) targ_emul=elf64lppc
eb3d6bb8
AM
507 targ_extra_emuls="elf32lppc elf32lppcsim"
508 tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'`
509 tdir_elf32lppcsim=$tdir_elf32lppc ;;
5c67d4bb
AM
510 *) targ_emul=elf32lppc
511 targ_extra_emuls="elf32ppcsim" ;;
512 esac ;;
513powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
42b5d0ea 514 | powerpc*-*-netbsd* | powerpc-*-openbsd* | powerpc*-*-vxworks* | powerpc*-*-kaos*)
5c67d4bb
AM
515 case "${targ}" in
516 *64*) targ_emul=elf64ppc
eb3d6bb8
AM
517 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim"
518 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
519 tdir_elf32ppclinux=$tdir_elf32ppc
520 tdir_elf32ppcsim=$tdir_elf32ppc ;;
5c67d4bb
AM
521 *) targ_emul=elf32ppc
522 targ_extra_emuls="elf32ppclinux elf32ppcsim" ;;
523 esac ;;
59bc061d
NC
524powerpc-*-nto*) targ_emul=elf32ppcnto ;;
525powerpcle-*-nto*) targ_emul=elf32lppcnto ;;
de24ad21 526powerpcle-*-rtems*) targ_emul=elf32leppc ;;
252b5132
RH
527powerpc-*-rtems*) targ_emul=elf32ppc ;;
528powerpc-*-macos*) targ_emul=ppcmacos ;;
529powerpc-*-netware*) targ_emul=ppcnw ;;
530powerpcle-*-pe) targ_emul=ppcpe ;;
531powerpcle-*-winnt*) targ_emul=ppcpe ;;
3b1b01cf 532powerpcle-*-cygwin*) targ_emul=ppcpe ;;
eb1e0e80 533powerpc-*-aix5*) targ_emul=aix5ppc ;;
742aeb63 534powerpc-*-aix*) targ_emul=aixppc ;;
252b5132 535powerpc-*-beos*) targ_emul=aixppc ;;
94349e12 536powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;;
eb1e0e80 537rs6000-*-aix5*) targ_emul=aix5rs6 ;;
252b5132
RH
538rs6000-*-aix*) targ_emul=aixrs6 ;;
539tic30-*-*aout*) targ_emul=tic30aout ;;
9f863369
SS
540tic30-*-*coff*) targ_emul=tic30coff ;;
541tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;;
74459f0e 542tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;;
252b5132
RH
543tic80-*-*) targ_emul=tic80coff ;;
544v850-*-*) targ_emul=v850 ;;
545v850e-*-*) targ_emul=v850 ;;
546v850ea-*-*) targ_emul=v850 ;;
e09a7106 547iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" ;;
005e1118
AO
548frv-*-*linux*) targ_emul=elf32frvfd ;;
549frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" ;;
252b5132 550w65-*-*) targ_emul=w65 ;;
93fbbb04 551xstormy16-*-*) targ_emul=elf32xstormy16 ;;
e0001a05 552xtensa-*-*) targ_emul=elf32xtensa;;
252b5132 553fr30-*-*) targ_emul=elf32fr30 ;;
71acc4e8
NC
554mcore-*-pe) targ_emul=mcorepe ;
555 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
556mcore-*-elf) targ_emul=elf32mcore ;;
f52d1d64
JJ
557s390x-*-linux*) targ_emul=elf64_s390
558 targ_extra_emuls=elf_s390
559 targ_extra_libpath=$targ_extra_emuls
560 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;;
561s390-*-linux*) targ_emul=elf_s390
562 if test "${want64}" = "true"; then
563 targ_extra_emuls=elf64_s390
564 targ_extra_libpath=$targ_extra_emuls
565 tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'`
566 fi ;;
252b5132 567*-*-ieee*) targ_emul=vanilla ;;
cf88bb9f 568ip2k-*-elf) targ_emul=elf32ip2k ;;
252b5132
RH
569
570*)
571 echo 2>&1 "*** ld does not support target ${targ}"
572 echo 2>&1 "*** see ld/configure.tgt for supported targets"
573 exit 1
574
575esac
9c8ebd6a
DJ
576
577NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib'
578case "${target}" in
579
580*-*-freebsd*)
581 NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib'
582 ;;
583
584hppa*64*-*-hpux11*)
585 NATIVE_LIB_DIRS=/usr/lib/pa20_64
586 ;;
587
80c7c40a 588i[3-7]86-*-sysv4*)
9c8ebd6a
DJ
589 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
590 ;;
591
80c7c40a 592i[3-7]86-*-solaris*)
9c8ebd6a
DJ
593 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
594 ;;
595
80c7c40a 596i[3-7]86-pc-interix*)
9c8ebd6a
DJ
597 NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib'
598 ;;
599
600ia64-*-aix*)
601 NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib'
602 ;;
603
604sparc*-*-solaris2*)
605 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
606 ;;
607
d55b850c
CF
608i[03-9x]86-*-cygwin*)
609 NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api'
610 ;;
611
9c8ebd6a
DJ
612*-*-linux*)
613 ;;
614
615*-*-freebsd*)
616 ;;
617
618*-*-netbsd*)
619 ;;
620
621alpha*-*-*)
622 NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
623 ;;
624
625esac
This page took 0.258494 seconds and 4 git commands to generate.