Add support for msp430.
[binutils.git] / ld / configure.tgt
blob4a693241e72b87215219868d1e5e142f33009bba
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.
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
13 targ_extra_emuls=
14 targ_extra_ofiles=
16 case "${targ}" in
17 arm-epoc-pe)            targ_emul=arm_epoc_pe ;
18                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
19 arm-*-wince)            targ_emul=armpe ;
20                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
21 arm-*-pe)               targ_emul=armpe ;
22                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
23 arc-*-elf*)             targ_emul=arcelf ;;
24 avr-*-*)                targ_emul=avr85xx
25                         targ_extra_emuls="avr1200 avr23xx avr44x4 avr4433 avrmega603 avrmega103 avrmega161 avr1 avr2 avr3 avr4 avr5" ;;
26 cris-*-*aout*)          targ_emul=crisaout
27                         targ_extra_emuls="criself crislinux"
28                         targ_extra_libpath=$targ_extra_emuls ;;
29 cris-*-*)               targ_emul=criself
30                         targ_extra_emuls="crisaout crislinux"
31                         targ_extra_libpath=$targ_extra_emuls ;;
32 d10v-*-*)               targ_emul=d10velf ;;
33 d30v-*-*ext*)           targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;;
34 d30v-*-*onchip*)        targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;;
35 d30v-*-*)               targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o" ;;
36 dlx-*-elf*)             targ_emul=elf32_dlx ;;
37 sparc64-*-aout*)        targ_emul=sparcaout ;;
38 sparc64-*-elf*)         targ_emul=elf64_sparc ;;
39 sparc-sun-sunos4*)      targ_emul=sun4 ;;
40 sparclite*-*-elf)       targ_emul=elf32_sparc ;;
41 sparclite*-*-coff)      targ_emul=coff_sparc ;;
42 sparclite*-fujitsu-*)   targ_emul=sparcaout ;;
43 sparc*-*-aout)          targ_emul=sparcaout ;;
44 sparc*-*-coff)          targ_emul=coff_sparc ;;
45 sparc*-*-elf)           targ_emul=elf32_sparc ;;
46 sparc*-*-sysv4*)        targ_emul=elf32_sparc ;;
47 sparc64-*-freebsd* | sparcv9-*-freebsd*)
48                         targ_emul=elf64_sparc_fbsd
49                         targ_extra_emuls="elf64_sparc elf32_sparc"
50                         targ_extra_libpath=$targ_extra_emuls
51                         tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
52                         ;;
53 sparc*-*-linux*aout*)   targ_emul=sparclinux
54                         targ_extra_emuls="elf32_sparc sun4"
55                         tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
56                         tdir_sun4=sparc-sun-sunos4
57                         ;;
58 sparc64-*-linux-gnu*)   targ_emul=elf64_sparc
59                         targ_extra_emuls="elf32_sparc sparclinux sun4"
60                         targ_extra_libpath=elf32_sparc
61                         tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
62                         tdir_sparclinux=${tdir_elf32_sparc}aout
63                         tdir_sun4=sparc-sun-sunos4
64                         ;;
65 sparc*-*-linux-gnu*)    targ_emul=elf32_sparc
66                         targ_extra_emuls="sparclinux elf64_sparc sun4"
67                         targ_extra_libpath=elf64_sparc
68                         tdir_sparclinux=${targ_alias}aout
69                         tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`
70                         tdir_sun4=sparc-sun-sunos4
71                         ;;
72 sparc*-*-lynxos*)       targ_emul=sparclynx ;;
73 sparc64-*-netbsd* | sparc64-*-openbsd*)
74                         targ_emul=elf64_sparc
75                         targ_extra_emuls="elf32_sparc"
76                         ;;
77 sparc*-*-netbsd*elf*)   targ_emul=elf32_sparc ;;
78 sparc*-*-netbsd*)       targ_emul=sparcnbsd ;;
79 sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
80                         targ_emul=elf32_sparc ;;
81 sparc-*-solaris2*)      targ_emul=elf32_sparc
82                         targ_extra_emuls="elf64_sparc"
83                         targ_extra_libpath=$targ_extra_emuls
84                         tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`
85                         ;;
86 sparcv9-*-solaris2* | sparc64-*-solaris2*)
87                         targ_emul=elf64_sparc
88                         targ_extra_emuls="elf32_sparc"
89                         targ_extra_libpath=$targ_extra_emuls
90                         tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
91                         ;;
92 sparc*-*-solaris2*)     targ_emul=elf32_sparc ;;
93 sparc*-wrs-vxworks*)    targ_emul=sparcaout ;;
94 sparc*-*-rtemsaout*)    targ_emul=sparcaout ;;
95 sparc*-*-rtemself*)     targ_emul=elf32_sparc ;;
96 sparc*-*-rtems*)        targ_emul=elf32_sparc ;;
97 i860-stardent-sysv4* | i860-stardent-elf*)
98                         targ_emul=elf32_i860 ;;
99 i960-wrs-vxworks5.0*)   targ_emul=gld960 ;;
100 i960-wrs-vxworks5*)     targ_emul=gld960coff ;;
101 i960-wrs-vxworks*)      targ_emul=gld960 ;;
102 i960-*-coff)            targ_emul=gld960coff ;;
103 i960-intel-nindy)       targ_emul=gld960 ;;
104 i960-*-rtems*)          targ_emul=gld960coff ;;
105 i960-*-elf*)            targ_emul=elf32_i960 ;;
106 ia64-*-elf*)            targ_emul=elf64_ia64 ;;
107 ia64-*-freebsd*)        targ_emul=elf64_ia64_fbsd
108                         targ_extra_emuls="elf64_ia64" ;;
109 ia64-*-netbsd*)         targ_emul=elf64_ia64 ;;
110 ia64-*-linux*)          targ_emul=elf64_ia64 ;;
111 ia64-*-aix*)            targ_emul=elf64_aix ;;
112 m32r-*-*)               targ_emul=m32relf ;;
113 m68hc11-*-*|m6811-*-*)  targ_emul=m68hc11elf 
114                         targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
115 m68hc12-*-*|m6812-*-*)  targ_emul=m68hc12elf 
116                         targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;;
117 m68*-sun-sunos[34]*)    targ_emul=sun3 ;;
118 m68*-wrs-vxworks*)      targ_emul=sun3 ;;
119 m68*-ericsson-ose)      targ_emul=sun3 ;;
120 m68*-apple-aux*)        targ_emul=m68kaux ;;
121 *-tandem-none)          targ_emul=st2000 ;;
122 i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
123 i[3456]86-*-nto-qnx*)   targ_emul=i386nto ;;
124 i[3456]86-*-vsta)       targ_emul=vsta ;;
125 i[3456]86-go32-rtems*)  targ_emul=i386go32 ;;
126 i[3456]86-*-go32)       targ_emul=i386go32 ;;
127 i[3456]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
128 i[3456]86-*-aix*)       targ_emul=i386coff ;;
129 i[3456]86-*-sco*)       targ_emul=i386coff ;;
130 i[3456]86-*-isc*)       targ_emul=i386coff ;;
131 i[3456]86-*-lynxos*)    targ_emul=i386lynx ;;
132 i[3456]86-*-coff)       targ_emul=i386coff ;;
133 i[3456]86-*-rtemscoff*) targ_emul=i386coff ;;
134 i[3456]86-*-rtemself*)  targ_emul=elf_i386 ;;
135 i[3456]86-*-rtems*)     targ_emul=elf_i386 ;;
136 i[3456]86-*-bsd)        targ_emul=i386bsd ;;
137 i[3456]86-*-bsd386)     targ_emul=i386bsd ;;
138 i[3456]86-*-bsdi*)      targ_emul=i386bsd ;;
139 i[3456]86-*-aout)       targ_emul=i386aout ;;
140 i[3456]86-*-linux*aout*)        targ_emul=i386linux
141                         targ_extra_emuls=elf_i386
142                         tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
143                         ;;
144 i[3456]86-*-linux*oldld)        targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
145 i[3456]86-*-linux-gnu*) targ_emul=elf_i386
146                         targ_extra_emuls=i386linux
147                         if test x${want64} = xtrue; then
148                           targ_extra_emuls="$targ_extra_emuls elf_x86_64"
149                         fi
150                         tdir_i386linux=${targ_alias}aout
151                         ;;
152 x86_64-*-linux-gnu*)    targ_emul=elf_x86_64
153                         targ_extra_emuls="elf_i386 i386linux"
154                         targ_extra_libpath=elf_i386
155                         tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
156                         tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
157                         ;;
158 i[3456]86-*-sysv[45]*)  targ_emul=elf_i386 ;;
159 i[3456]86-*-solaris2*)  targ_emul=elf_i386_ldso
160                         targ_extra_emuls="elf_i386"
161                         ;;
162 i[3456]86-*-unixware)   targ_emul=elf_i386 ;;
163 i[3456]86-*-solaris*)   targ_emul=elf_i386_ldso
164                         targ_extra_emuls="elf_i386"
165                         ;;
166 i[3456]86-*-netbsdelf*) targ_emul=elf_i386
167                         targ_extra_emuls=i386nbsd
168                         ;;
169 i[3456]86-*-netbsdpe*)  targ_emul=i386pe
170                         targ_extra_ofiles="deffilep.o pe-dll.o"
171                         ;;
172 i[3456]86-*-netbsd*)    targ_emul=i386nbsd
173                         targ_extra_emuls=elf_i386
174                         ;;
175 x86_64-*-netbsd*)       targ_emul=elf_x86_64
176                         targ_extra_emuls="elf_i386 i386nbsd"
177                         tdir_elf_i386=`echo ${targ_alias} | \
178                             sed -e 's/x86_64/i386/'`
179                         case "${tdir_elf_i386}" in
180                         *-netbsdelf*) ;;
181                         *)
182                                 tdir_elf_i386=`echo ${tdir_elf_i386} | \
183                                     sed -e 's/netbsd/netbsdelf/'`
184                                 ;;
185                         esac
186                         ;;
187 i[3456]86-*-netware)    targ_emul=i386nw ;;
188 i[3456]86-*-elf*)       targ_emul=elf_i386 ;;
189 i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | i[3456]86-*-freebsd[12])
190                         targ_emul=i386bsd ;;
191 i[3456]86-*-freebsd*)   targ_emul=elf_i386_fbsd
192                         targ_extra_emuls="elf_i386 i386bsd" ;;
193 x86_64-*-freebsd*)      targ_emul=elf_x86_64_fbsd
194                         targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386"
195                         tdir_elf_i386=`echo ${targ_alias} \
196                             | sed -e 's/x86_64/i386/'`
197                         ;;
198 i[3456]86-*-sysv*)      targ_emul=i386coff ;;
199 i[3456]86-*-ptx*)       targ_emul=i386coff ;;
200 i[3456]86-*-mach*)      targ_emul=i386mach ;;
201 i[3456]86-*-gnu*)       targ_emul=elf_i386 ;;
202 i[3456]86-*-msdos*)     targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
203 i[3456]86-*-moss*)      targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
204 i[3456]86-*-winnt*)     targ_emul=i386pe ;
205                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
206 i[3456]86-*-pe)         targ_emul=i386pe ;
207                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
208 i[3456]86-*-cygwin*)    targ_emul=i386pe ;
209                         targ_extra_ofiles="deffilep.o pe-dll.o"
210                         test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
211 i[3456]86-*-mingw32*)   targ_emul=i386pe ;
212                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
213 i[3456]86-*-interix*)   targ_emul=i386pe_posix;
214                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
215 i[3456]86-*-beospe*)    targ_emul=i386beos ;;
216 i[3456]86-*-beos*)      targ_emul=elf_i386_be ;;
217 i[3456]86-*-vxworks*)   targ_emul=i386aout ;;
218 i[3456]86-*-chaos)      targ_emul=elf_i386_chaos ;;
219 m8*-*-*)                targ_emul=m88kbcs ;;
220 a29k-*-udi)             targ_emul=sa29200 ;;
221 a29k-*-ebmon)           targ_emul=ebmon29k ;;
222 a29k-*-*)               targ_emul=a29k ;;
223 #  arm-*-riscix*)               targ_emul=riscix ;;
224 arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
225 armeb-*-aout)           targ_emul=armaoutb ;;
226 arm-*-coff)             targ_emul=armcoff ;;
227 arm-*-vxworks)          targ_emul=armcoff ;;
228 arm-*-freebsd*)         targ_emul=armelf_fbsd
229                         targ_extra_emuls="armelf" ;;
230 armeb-*-netbsdelf*)     targ_emul=armelfb_nbsd;
231                         targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
232 arm-*-netbsdelf*)       targ_emul=armelf_nbsd;
233                         targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;;
234 arm-*-netbsd*)          targ_emul=armnbsd;
235                         targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd"  ;;
236 arm-*-nto*)             targ_emul=armnto ;;
237 arm-*-openbsd*)         targ_emul=armnbsd ;;
238 arm-*-rtems*)           targ_emul=armelf ;;
239 arm-*-elf)              targ_emul=armelf ;;
240 arm9e-*-elf)            targ_emul=armelf ;;
241 arm-*-oabi)             targ_emul=armelf_oabi ;;
242 arm*-*-linux-gnu*)      targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
243 arm*-*-uclinux*)        targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
244 arm*-*-conix*)          targ_emul=armelf ;;
245 thumb-*-linux-gnu* | thumb-*-uclinux*)  targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
246 strongarm-*-coff)       targ_emul=armcoff ;;
247 strongarm-*-elf)        targ_emul=armelf ;;
248 thumb-*-coff)           targ_emul=armcoff ;;
249 thumb-*-elf)            targ_emul=armelf ;;
250 thumb-*-oabi)           targ_emul=armelf_oabi ;;
251 thumb-epoc-pe)          targ_emul=arm_epoc_pe ;
252                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
253 thumb-*-pe)             targ_emul=armpe ;
254                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
255 xscale-*-coff)          targ_emul=armcoff ;;
256 xscale-*-elf)           targ_emul=armelf ;;
257 h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*)
258                         targ_emul=h8300; targ_extra_emuls="h8300h h8300s"
259                         ;;
260 h8300-*-elf*)
261                         targ_emul=h8300elf;
262                         targ_extra_emuls="h8300helf h8300self"
263                         ;;
264 h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*)
265                         targ_emul=h8500
266                         targ_extra_emuls="h8500s h8500b h8500m h8500c"
267                         ;;
268 sh-*-linux*)
269                         targ_emul=shlelf_linux
270                         targ_extra_emuls=shelf_linux
271                         targ_extra_libpath=shelf_linux
272                         ;;
273 sh64eb-*-linux*)        targ_emul=shelf32_linux
274                         targ_extra_emuls="shlelf32_linux"
275                         ;;
276 sh64-*-linux*)          targ_emul=shlelf32_linux
277                         targ_extra_emuls="shelf32_linux"
278                         targ_extra_libpath=shelf32_linux
279                         ;;
280 sh*eb-*-linux*)
281                         targ_emul=shelf_linux
282                         ;;
283 sh*-*-linux*)
284                         targ_emul=shlelf_linux
285                         ;;
286 sh5le-*-netbsd*)
287                         targ_emul=shlelf32_nbsd
288                         targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd"
289                         ;;
290 sh5-*-netbsd*)
291                         targ_emul=shelf32_nbsd
292                         targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd"
293                         ;;
294 sh64le-*-netbsd*)
295                         targ_emul=shlelf64_nbsd
296                         targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd"
297                         ;;
298 sh64-*-netbsd*)
299                         targ_emul=shelf64_nbsd
300                         targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd"
301                         ;;
302 sh*le-*-netbsdelf*)
303                         targ_emul=shlelf_nbsd
304                         targ_extra_emuls=shelf_nbsd
305                         ;;
306 sh*-*-netbsdelf*)
307                         targ_emul=shelf_nbsd
308                         targ_extra_emuls=shlelf_nbsd
309                         ;;
310 shle*-*-elf* | sh[1234]*le*-*-elf)
311                         targ_emul=shlelf
312                         targ_extra_emuls="shelf shl sh"
313                         ;;
314 sh-*-elf* | sh[1234]*-*-elf | sh-*-rtemself*)
315                         targ_emul=shelf
316                         targ_extra_emuls="shlelf sh shl"
317                         ;;
318 sh-*-nto*)              targ_emul=shelf_nto
319                         targ_extra_emuls=shlelf_nto
320                         ;;
321 sh-*-pe)                targ_emul=shpe ;
322                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
323 sh-*-*|sh-*-rtems*)     targ_emul=sh; targ_extra_emuls=shl ;;
324 sh64le-*-elf*)
325                         targ_emul=shlelf
326                         targ_extra_emuls="shelf shlelf32 shelf32 shlelf64 shelf64"
327                         targ_extra_libpath=$targ_extra_emuls
328                         ;;
329 sh64-*-elf*)
330                         targ_emul=shelf
331                         targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64"
332                         targ_extra_libpath=$targ_extra_emuls
333                         ;;
334 m68k-sony-*)            targ_emul=news ;;
335 m68k-hp-bsd*)           targ_emul=hp300bsd ;;
336 m68*-motorola-sysv*)    targ_emul=delta68 ;;
337 m68*-*-aout)            targ_emul=m68kaout ;;
338 m68*-*-coff)            targ_emul=m68kcoff ;;
339 m68*-*-elf)             targ_emul=m68kelf ;;
340 m68*-*-hpux*)           targ_emul=hp3hpux ;;
341 m68k-*-linux*aout*)     targ_emul=m68klinux
342                         targ_extra_emuls=m68kelf
343                         tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
344                         ;;
345 m68k-*-linux-gnu*)      targ_emul=m68kelf
346                         targ_extra_emuls=m68klinux
347                         tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
348                         ;;
349 m68*-*-gnu*)            targ_emul=m68kelf ;;
350 m68*-*-lynxos*)         targ_emul=m68klynx ;;
351 m68*-*-netbsd*4k*)      targ_emul=m68k4knbsd
352                         targ_extra_emuls="m68knbsd m68kelfnbsd" ;;
353 m68*-*-netbsdelf*)      targ_emul=m68kelfnbsd
354                         targ_extra_emuls="m68knbsd m68k4knbsd" ;;
355 m68*-*-netbsdaout* | m68*-*-netbsd*)
356                         targ_emul=m68knbsd
357                         targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;;
358 m68*-*-psos*)           targ_emul=m68kpsos ;;
359 m68*-*-rtemscoff*)      targ_emul=m68kcoff ;;
360 m68*-*-rtems*)          targ_emul=m68kelf ;;
361 hppa*64*-*-linux-gnu*)  targ_emul=hppa64linux ;;
362 hppa*64*-*)             targ_emul=elf64hppa ;;
363 hppa*-*-linux-gnu*)     targ_emul=hppalinux ;;
364 hppa*-*-*elf*)          targ_emul=hppaelf ;;
365 hppa*-*-lites*)         targ_emul=hppaelf ;;
366 hppa*-*-netbsd*)        targ_emul=hppanbsd ;;
367 hppa*-*-openbsd*)       targ_emul=hppaobsd ;;
368 hppa*-*-rtems*)         targ_emul=hppaelf ;;
369 vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;;
370 vax-*-netbsdelf*)       targ_emul=elf32vax
371                         targ_extra_emuls=vaxnbsd ;;
372 vax-*-netbsdaout* | vax-*-netbsd*)
373                         targ_emul=vaxnbsd
374                         targ_extra_emuls=elf32vax ;;
375 mips*-*-pe)             targ_emul=mipspe ;
376                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
377 mips*-dec-ultrix*)      targ_emul=mipslit ;;
378 mips*-dec-osf*)         targ_emul=mipslit ;;
379 mips*-sgi-irix5*)       targ_emul=elf32bsmip ;;
380 mips*-sgi-irix6*)       targ_emul=elf32bmipn32
381                         targ_extra_emuls="elf32bsmip elf64bmip"
382                         ;;
383 mips*-sgi-irix*)        targ_emul=mipsbig ;;
384 mips*el-*-ecoff*)       targ_emul=mipsidtl ;;
385 mips*-*-ecoff*)         targ_emul=mipsidt ;;
386 mips*-dec-bsd*)         targ_emul=mipsbsd ;;
387 mips*el-*-netbsd*)      targ_emul=elf32lmip
388                         targ_extra_emuls="elf32bmip"
389                         ;;
390 mips*-*-netbsd*)        targ_emul=elf32bmip
391                         targ_extra_emuls="elf32lmip"
392                         ;;
393 mips*-*-bsd*)           targ_emul=mipsbig ;;
394 mips*vr4300el-*-elf*)   targ_emul=elf32l4300 ;;
395 mips*vr4300-*-elf*)     targ_emul=elf32b4300 ;;
396 mips*vr4100el-*-elf*)   targ_emul=elf32l4300 ;;
397 mips*vr4100-*-elf*)     targ_emul=elf32b4300 ;;
398 mips*vr5000el-*-elf*)   targ_emul=elf32l4300 ;;
399 mips*vr5000-*-elf*)     targ_emul=elf32b4300 ;;
400 mips*el-*-elf*)         targ_emul=elf32elmip ;;
401 mips*-*-elf*)           targ_emul=elf32ebmip ;;
402 mips*el-*-rtems*)       targ_emul=elf32elmip ;;
403 mips*-*-rtems*)         targ_emul=elf32ebmip ;;
404 mips*el-*-vxworks*)     targ_emul=elf32elmip ;;
405 mips*-*-vxworks*)       targ_emul=elf32ebmip ;;
406 mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
407                         targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
408                         ;;
409 mips64*-*-linux-gnu*)   targ_emul=elf32btsmipn32
410                         targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
411                         ;;
412 mips*el-*-linux-gnu*)   targ_emul=elf32ltsmip
413                         targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
414                         ;;
415 mips*-*-linux-gnu*)     targ_emul=elf32btsmip
416                         targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
417                         ;;
418 mips*-*-lnews*)         targ_emul=mipslnews ;;
419 mips*-*-sysv4*)         targ_emul=elf32btsmip ;;
420 mmix-*-*)               targ_emul=mmo
421                         targ_extra_emuls=elf64mmix
422                         ;;
423 mn10200-*-*)            targ_emul=mn10200 ;;
424 mn10300-*-*)            targ_emul=mn10300 ;;
425 msp430-*-*)             targ_emul=msp430x149
426                         targ_extra_emuls="msp430x148 msp430x147 msp430x133 msp430x135 msp430x110 msp430x112 msp430x122 msp430x123 msp430x412 msp430x413 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x1101 msp430x1111 msp430x1121 msp430x1331 msp430x1351 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449 msp430x1222 msp430x1232 msp430x169 msp430x168 msp430x167 msp430x155  msp430x156 msp430x157" ;;
427 alpha*-*-freebsd*)      targ_emul=elf64alpha_fbsd
428                         targ_extra_emuls="elf64alpha alpha"
429                         tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'`
430                         ;;
431 alpha*-*-linuxecoff*)   targ_emul=alpha targ_extra_emuls=elf64alpha
432                         tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
433                         ;;
434 alpha*-*-linux-gnu*)    targ_emul=elf64alpha targ_extra_emuls=alpha
435                         tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
436                         ;;
437 alpha*-*-osf*)          targ_emul=alpha ;;
438 alpha*-*-gnu*)          targ_emul=elf64alpha ;;
439 alpha*-*-netware*)      targ_emul=alpha ;;
440 alpha*-*-netbsd*)       targ_emul=elf64alpha_nbsd ;;
441 alpha*-*-openbsd*)      targ_emul=elf64alpha ;;
442 z8k-*-coff)             targ_emul=z8002; targ_extra_emuls=z8001 ;;
443 ns32k-pc532-mach* | ns32k-pc532-ux*)    targ_emul=pc532macha ;;
444 ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
445 openrisc-*-*)           targ_emul=elf32openrisc ;;
446 or32-*-coff)            targ_emul=or32 ;;
447 or32-*-elf)             targ_emul=or32elf ;;
448 or32-*-rtems)           targ_emul=or32 ;;
449 pdp11-*-*)              targ_emul=pdp11 ;;
450 pjl*-*-*)               targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;;
451 pj*-*-*)                targ_emul=pjelf ;;
452 powerpc-*-freebsd*)     targ_emul=elf32ppc_fbsd;
453                         targ_extra_emuls="elf32ppc elf32ppcsim";
454                         targ_extra_libpath=elf32ppc;
455                         tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'`
456                         ;;
457 powerpc*-*-linux*)
458         case "${targ}" in
459         *64*)   targ_emul=elf64ppc
460                 targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
461                 targ_extra_libpath=elf32ppclinux
462                 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
463                 tdir_elf32ppclinux=$tdir_elf32ppc
464                 tdir_elf32ppcsim=$tdir_elf32ppc ;;
465         *)      targ_emul=elf32ppclinux
466                 targ_extra_emuls="elf32ppc elf32ppcsim"
467                 targ_extra_libpath=elf32ppc
468                 if test "${want64}" = "true"; then
469                   targ_extra_emuls="$targ_extra_emuls elf64ppc"
470                 fi
471                 ;;
472         esac ;;
473 powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \
474   | powerpc*le-*-sysv* | powerpc*le-*-vxworks*)
475         case "${targ}" in
476         *64*)   targ_emul=elf64lppc
477                 targ_extra_emuls="elf32lppc elf32lppcsim"
478                 tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'`
479                 tdir_elf32lppcsim=$tdir_elf32lppc ;;
480         *)      targ_emul=elf32lppc
481                 targ_extra_emuls="elf32ppcsim" ;;
482         esac ;;
483 powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
484   | powerpc*-*-netbsd* | powerpc-*-openbsd* | powerpc*-*-vxworks*)
485         case "${targ}" in
486         *64*)   targ_emul=elf64ppc
487                 targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim"
488                 tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
489                 tdir_elf32ppclinux=$tdir_elf32ppc
490                 tdir_elf32ppcsim=$tdir_elf32ppc ;;
491         *)      targ_emul=elf32ppc
492                 targ_extra_emuls="elf32ppclinux elf32ppcsim" ;;
493         esac ;;
494 powerpc-*-nto*)         targ_emul=elf32ppcnto ;;
495 powerpcle-*-nto*)       targ_emul=elf32lppcnto ;;
496 powerpcle-*-rtems*)     targ_emul=elf32leppc ;;
497 powerpc-*-rtems*)       targ_emul=elf32ppc ;;
498 powerpc-*-macos*)       targ_emul=ppcmacos ;;
499 powerpc-*-netware*)     targ_emul=ppcnw ;;
500 powerpcle-*-pe)         targ_emul=ppcpe ;;
501 powerpcle-*-winnt*)     targ_emul=ppcpe ;;
502 powerpcle-*-cygwin*)    targ_emul=ppcpe ;;
503 powerpc-*-aix5*)        targ_emul=aix5ppc ;;
504 powerpc-*-aix*)         targ_emul=aixppc ;;
505 powerpc-*-beos*)        targ_emul=aixppc ;;
506 powerpc-*-windiss*)     targ_emul=elf32ppcwindiss ;;
507 rs6000-*-aix5*)         targ_emul=aix5rs6 ;;
508 rs6000-*-aix*)          targ_emul=aixrs6 ;;
509 tic30-*-*aout*)         targ_emul=tic30aout ;;
510 tic30-*-*coff*)         targ_emul=tic30coff ;;
511 tic4x-*-* | c4x-*-*)    targ_emul=tic4xcoff ;;
512 tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;;
513 tic80-*-*)              targ_emul=tic80coff ;;
514 v850-*-*)               targ_emul=v850 ;;
515 v850e-*-*)              targ_emul=v850 ;;
516 v850ea-*-*)             targ_emul=v850 ;;
517 frv-*-*)                targ_emul=elf32frv ;;
518 w65-*-*)                targ_emul=w65 ;;
519 xstormy16-*-*)          targ_emul=elf32xstormy16 ;;
520 fr30-*-*)               targ_emul=elf32fr30 ;;
521 mcore-*-pe)             targ_emul=mcorepe ;
522                         targ_extra_ofiles="deffilep.o pe-dll.o" ;;
523 mcore-*-elf)            targ_emul=elf32mcore ;;
524 s390x-*-linux*)         targ_emul=elf64_s390
525                         targ_extra_emuls=elf_s390
526                         targ_extra_libpath=$targ_extra_emuls
527                         tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;;
528 s390-*-linux*)          targ_emul=elf_s390
529                         if test "${want64}" = "true"; then
530                           targ_extra_emuls=elf64_s390
531                           targ_extra_libpath=$targ_extra_emuls
532                           tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'`
533                         fi ;;
534 *-*-ieee*)              targ_emul=vanilla ;;
535 ip2k-*-elf)             targ_emul=elf32ip2k ;;
538   echo 2>&1 "*** ld does not support target ${targ}"
539   echo 2>&1 "*** see ld/configure.tgt for supported targets"
540   exit 1
542 esac