PR jit/66539: Properly add testcase
[official-gcc.git] / gcc / config.gcc
blob805638d726139a77543fdf89935263238ceab91b
1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2015 Free Software Foundation, Inc.
4 #This file is part of GCC.
6 #GCC is free software; you can redistribute it and/or modify it under
7 #the terms of the GNU General Public License as published by the Free
8 #Software Foundation; either version 3, or (at your option) any later
9 #version.
11 #GCC is distributed in the hope that it will be useful, but WITHOUT
12 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 #FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 #for more details.
16 #You should have received a copy of the GNU General Public License
17 #along with GCC; see the file COPYING3.  If not see
18 #<http://www.gnu.org/licenses/>.
20 # This is the GCC target-specific configuration file
21 # where a configuration type is mapped to different system-specific
22 # definitions and files.  This is invoked by the autoconf-generated
23 # configure script.  Putting it in a separate shell file lets us skip
24 # running autoconf when modifying target-specific information.
26 # When you change the cases in the OS or target switches, consider
27 # updating ../libgcc/config.host also.
29 # This file switches on the shell variable ${target}, and also uses the
30 # following shell variables:
32 #  with_*               Various variables as set by configure.
34 #  enable_threads       Either the name, yes or no depending on whether
35 #                       threads support was requested.
37 #  default_use_cxa_atexit
38 #                         The default value for the $enable___cxa_atexit
39 #                       variable.  enable___cxa_atexit needs to be set to
40 #                       "yes" for the correct operation of C++ destructors
41 #                       but it relies upon the presence of a non-standard C
42 #                       library function called __cxa_atexit.
43 #                         Since not all C libraries provide __cxa_atexit the
44 #                       default value of $default_use_cxa_atexit is set to
45 #                       "no" except for targets which are known to be OK.
47 #  default_gnu_indirect_function
48 #                       The default value for the $enable_gnu_indirect_function
49 #                       variable.  enable_gnu_indirect_function relies
50 #                       upon the presence of a non-standard gnu ifunc support
51 #                       in the assembler, linker and dynamic linker.
52 #                       Since not all libraries provide the dynamic linking
53 #                       support, the default value of
54 #                       $default_gnu_indirect_function is set to
55 #                       "no" except for targets which are known to be OK.
57 #  gas_flag             Either yes or no depending on whether GNU as was
58 #                       requested.
60 #  gnu_ld_flag          Either yes or no depending on whether GNU ld was
61 #                       requested.
63 # This file sets the following shell variables for use by the
64 # autoconf-generated configure script:
66 #  cpu_type             The name of the cpu, if different from the first
67 #                       chunk of the canonical target name.
69 #  tm_defines           List of target macros to define for all compilations.
71 #  tm_file              A list of target macro files, if different from
72 #                       "$cpu_type/$cpu_type.h". Usually it's constructed
73 #                       per target in a way like this:
74 #                       tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
75 #                       Note that the preferred order is:
76 #                       - specific target header "${cpu_type}/${cpu_type.h}"
77 #                       - generic headers like dbxelf.h elfos.h, etc.
78 #                       - specializing target headers like ${cpu_type.h}/elf.h
79 #                       This helps to keep OS specific stuff out of the CPU
80 #                       defining header ${cpu_type}/${cpu_type.h}.
82 #                       It is possible to include automatically-generated
83 #                       build-directory files by prefixing them with "./".
84 #                       All other files should relative to $srcdir/config.
86 #  tm_p_file            Location of file with declarations for functions
87 #                       in $out_file.
89 #  out_file             The name of the machine description C support
90 #                       file, if different from "$cpu_type/$cpu_type.c".
92 #  common_out_file      The name of the source file for code shared between
93 #                       the compiler proper and the driver.
95 #  md_file              The name of the machine-description file, if
96 #                       different from "$cpu_type/$cpu_type.md".
98 #  tmake_file           A list of machine-description-specific
99 #                       makefile-fragments, if different from
100 #                       "$cpu_type/t-$cpu_type".
102 #  extra_modes          The name of the file containing a list of extra
103 #                       machine modes, if necessary and different from
104 #                       "$cpu_type/$cpu_type-modes.def".
106 #  extra_objs           List of extra objects that should be linked into
107 #                       the compiler proper (cc1, cc1obj, cc1plus)
108 #                       depending on target.
110 #  extra_gcc_objs       List of extra objects that should be linked into
111 #                       the compiler driver (gcc) depending on target.
113 #  extra_headers        List of used header files from the directory
114 #                       config/${cpu_type}.
116 #  user_headers_inc_next_pre
117 #                       List of header file names of internal gcc header
118 #                       files, which should be prefixed by an include_next.
119 #  user_headers_inc_next_post
120 #                       List of header file names of internal gcc header
121 #                       files, which should be postfixed by an include_next.
122 #  use_gcc_tgmath       If set, add tgmath.h to the list of used header
123 #                       files.
125 #  use_gcc_stdint       If "wrap", install a version of stdint.h that
126 #                       wraps the system's copy for hosted compilations;
127 #                       if "provide", provide a version of systems without
128 #                       such a system header; otherwise "none", do not
129 #                       provide such a header at all.
131 #  extra_programs       List of extra executables compiled for this target
132 #                       machine, used when linking.
134 #  extra_options        List of target-dependent .opt files.
136 #  c_target_objs        List of extra target-dependent objects that be
137 #                       linked into the C compiler only.
139 #  cxx_target_objs      List of extra target-dependent objects that be
140 #                       linked into the C++ compiler only.
142 #  fortran_target_objs  List of extra target-dependent objects that be
143 #                       linked into the fortran compiler only.
145 #  target_gtfiles       List of extra source files with type information.
147 #  xm_defines           List of macros to define when compiling for the
148 #                       target machine.
150 #  xm_file              List of files to include when compiling for the
151 #                       target machine.
153 #  use_collect2         Set to yes or no, depending on whether collect2
154 #                       will be used.
156 #  target_cpu_default   Set to override the default target model.
158 #  gdb_needs_out_file_path
159 #                       Set to yes if gdb needs a dir command with
160 #                       `dirname $out_file`.
162 #  thread_file          Set to control which thread package to use.
164 #  gas                  Set to yes or no depending on whether the target
165 #                       system normally uses GNU as.
167 #  configure_default_options
168 #                       Set to an initializer for configure_default_options
169 #                       in configargs.h, based on --with-cpu et cetera.
171 #  native_system_header_dir
172 #                       Where system header files are found for this
173 #                       target.  This defaults to /usr/include.  If
174 #                       the --with-sysroot configure option or the
175 #                       --sysroot command line option is used this
176 #                       will be relative to the sysroot.
177 # target_type_format_char 
178 #                       The default character to be used for formatting
179 #                       the attribute in a
180 #                       .type symbol_name, ${t_t_f_c}<property>
181 #                       directive.
183 # The following variables are used in each case-construct to build up the
184 # outgoing variables:
186 #  gnu_ld               Set to yes or no depending on whether the target
187 #                       system normally uses GNU ld.
189 #  target_has_targetcm  Set to yes or no depending on whether the target
190 #                       has its own definition of targetcm.
192 #  target_has_targetm_common    Set to yes or no depending on whether the
193 #                       target has its own definition of targetm_common.
195 out_file=
196 common_out_file=
197 tmake_file=
198 extra_headers=
199 user_headers_inc_next_pre=
200 user_headers_inc_next_post=
201 use_gcc_tgmath=yes
202 use_gcc_stdint=none
203 extra_programs=
204 extra_objs=
205 extra_gcc_objs=
206 extra_options=
207 c_target_objs=
208 cxx_target_objs=
209 fortran_target_objs=
210 target_has_targetcm=no
211 target_has_targetm_common=yes
212 tm_defines=
213 xm_defines=
214 # Set this to force installation and use of collect2.
215 use_collect2=
216 # Set this to override the default target model.
217 target_cpu_default=
218 # Set this if gdb needs a dir command with `dirname $out_file`
219 gdb_needs_out_file_path=
220 # Set this to control which thread package will be used.
221 thread_file=
222 # Reinitialize these from the flag values every loop pass, since some
223 # configure entries modify them.
224 gas="$gas_flag"
225 gnu_ld="$gnu_ld_flag"
226 default_use_cxa_atexit=no
227 default_gnu_indirect_function=no
228 target_gtfiles=
229 need_64bit_isa=
230 native_system_header_dir=/usr/include
231 target_type_format_char='@'
233 # Don't carry these over build->host->target.  Please.
234 xm_file=
235 md_file=
237 # Obsolete configurations.
238 case ${target} in
239 # Currently there are no obsolete targets.
240  nothing                                \
242     if test "x$enable_obsolete" != xyes; then
243       echo "*** Configuration ${target} is obsolete." >&2
244       echo "*** Specify --enable-obsolete to build it anyway." >&2
245       echo "*** Support will be REMOVED in the next major release of GCC," >&2
246       echo "*** unless a maintainer comes forward." >&2
247       exit 1
248     fi;;
249 esac
251 # Unsupported targets list.  Do not put an entry in this list unless
252 # it would otherwise be caught by a more permissive pattern.  The list
253 # should be in alphabetical order.
254 case ${target} in
255  # Avoid special cases that are not obsolete
256    arm*-*-*eabi*                        \
258         ;;
259    arm*-wince-pe*                       \
260  | arm*-*-ecos-elf                      \
261  | arm*-*-elf                           \
262  | arm*-*-linux*                        \
263  | arm*-*-uclinux*                      \
264  | i[34567]86-go32-*                    \
265  | i[34567]86-*-go32*                   \
266  | m68k-*-uclinuxoldabi*                \
267  | mips64orion*-*-rtems*                \
268  | pdp11-*-bsd                          \
269  | sparc-hal-solaris2*                  \
270  | thumb-*-*                            \
271  | *-*-freebsd[12] | *-*-freebsd[12].*  \
272  | *-*-freebsd*aout*                    \
273  | *-*-linux*aout*                      \
274  | *-*-linux*coff*                      \
275  | *-*-linux*libc1*                     \
276  | *-*-linux*oldld*                     \
277  | *-*-rtemsaout*                       \
278  | *-*-rtemscoff*                       \
279  | *-*-solaris2                         \
280  | *-*-solaris2.[0-9]                   \
281  | *-*-solaris2.[0-9].*                 \
282  | *-*-sysv*                            \
283  | vax-*-vms*                           \
285         echo "*** Configuration ${target} not supported" 1>&2
286         exit 1
287         ;;
288 esac
290 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
291 # updated in each machine entry.  Also set default extra_headers for some
292 # machines.
293 tm_p_file=
294 cpu_type=`echo ${target} | sed 's/-.*$//'`
295 cpu_is_64bit=
296 case ${target} in
297 m32c*-*-*)
298         cpu_type=m32c
299         tmake_file=m32c/t-m32c
300         target_has_targetm_common=no
301         ;;
302 aarch64*-*-*)
303         cpu_type=aarch64
304         extra_headers="arm_neon.h arm_acle.h"
305         extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
306         target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
307         target_has_targetm_common=yes
308         ;;
309 alpha*-*-*)
310         cpu_type=alpha
311         extra_options="${extra_options} g.opt"
312         ;;
313 am33_2.0-*-linux*)
314         cpu_type=mn10300
315         ;;
316 arc*-*-*)
317         cpu_type=arc
318         ;;
319 arm*-*-*)
320         cpu_type=arm
321         extra_objs="arm-builtins.o aarch-common.o"
322         extra_headers="mmintrin.h arm_neon.h arm_acle.h"
323         target_type_format_char='%'
324         c_target_objs="arm-c.o"
325         cxx_target_objs="arm-c.o"
326         extra_options="${extra_options} arm/arm-tables.opt"
327         target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
328         ;;
329 avr-*-*)
330         cpu_type=avr
331         c_target_objs="avr-c.o"
332         cxx_target_objs="avr-c.o"
333         ;;
334 bfin*-*)
335         cpu_type=bfin
336         ;;
337 crisv32-*)
338         cpu_type=cris
339         ;;
340 frv*)   cpu_type=frv
341         extra_options="${extra_options} g.opt"
342         ;;
343 ft32*)  cpu_type=ft32
344         target_has_targetm_common=no
345         ;;
346 moxie*) cpu_type=moxie
347         target_has_targetm_common=no
348         ;;
349 fido-*-*)
350         cpu_type=m68k
351         extra_headers=math-68881.h
352         extra_options="${extra_options} m68k/m68k-tables.opt"
353         ;;
354 i[34567]86-*-*)
355         cpu_type=i386
356         c_target_objs="i386-c.o"
357         cxx_target_objs="i386-c.o"
358         extra_options="${extra_options} fused-madd.opt"
359         extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
360                        pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
361                        nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
362                        immintrin.h x86intrin.h avxintrin.h xopintrin.h
363                        ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
364                        lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
365                        avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
366                        rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
367                        adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
368                        avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
369                        shaintrin.h clflushoptintrin.h xsavecintrin.h
370                        xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
371                        avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
372                        avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
373                        avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.h"
374         ;;
375 x86_64-*-*)
376         cpu_type=i386
377         c_target_objs="i386-c.o"
378         cxx_target_objs="i386-c.o"
379         extra_options="${extra_options} fused-madd.opt"
380         extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
381                        pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
382                        nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
383                        immintrin.h x86intrin.h avxintrin.h xopintrin.h
384                        ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
385                        lzcntintrin.h bmiintrin.h tbmintrin.h bmi2intrin.h
386                        avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
387                        rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
388                        adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
389                        avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
390                        shaintrin.h clflushoptintrin.h xsavecintrin.h
391                        xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
392                        avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
393                        avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
394                        avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.h"
395         ;;
396 ia64-*-*)
397         extra_headers=ia64intrin.h
398         extra_options="${extra_options} g.opt fused-madd.opt"
399         ;;
400 hppa*-*-*)
401         cpu_type=pa
402         ;;
403 lm32*)
404         extra_options="${extra_options} g.opt"
405         ;;
406 m32r*-*-*)
407         cpu_type=m32r
408         extra_options="${extra_options} g.opt"
409         ;;
410 m68k-*-*)
411         extra_headers=math-68881.h
412         extra_options="${extra_options} m68k/m68k-tables.opt"
413         ;;
414 microblaze*-*-*)
415         cpu_type=microblaze
416         extra_options="${extra_options} g.opt"
417         ;;
418 mips*-*-*)
419         cpu_type=mips
420         extra_headers="loongson.h"
421         extra_options="${extra_options} g.opt mips/mips-tables.opt"
422         ;;
423 nds32*)
424         cpu_type=nds32
425         extra_headers="nds32_intrinsic.h"
426         extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o"
427         ;;
428 nios2-*-*)
429         cpu_type=nios2
430         extra_options="${extra_options} g.opt"
431         ;;
432 nvptx-*-*)
433         cpu_type=nvptx
434         ;;
435 powerpc*-*-*)
436         cpu_type=rs6000
437         extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
438         case x$with_cpu in
439             xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
440                 cpu_is_64bit=yes
441                 ;;
442         esac
443         extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
444         ;;
445 rs6000*-*-*)
446         extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
447         ;;
448 sparc*-*-*)
449         cpu_type=sparc
450         c_target_objs="sparc-c.o"
451         cxx_target_objs="sparc-c.o"
452         extra_headers="visintrin.h"
453         ;;
454 spu*-*-*)
455         cpu_type=spu
456         ;;
457 s390*-*-*)
458         cpu_type=s390
459         extra_options="${extra_options} fused-madd.opt"
460         extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
461         ;;
462 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
463 sh[123456789lbe]*-*-* | sh-*-*)
464         cpu_type=sh
465         extra_options="${extra_options} fused-madd.opt"
466         extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
467         ;;
468 v850*-*-*)
469         cpu_type=v850
470         ;;
471 tic6x-*-*)
472         cpu_type=c6x
473         extra_headers="c6x_intrinsics.h"
474         extra_options="${extra_options} c6x/c6x-tables.opt"
475         ;;
476 xtensa*-*-*)
477         extra_options="${extra_options} fused-madd.opt"
478         ;;
479 tilegx*-*-*)
480         cpu_type=tilegx
481         ;;
482 tilepro*-*-*)
483         cpu_type=tilepro
484         ;;
485 esac
487 tm_file=${cpu_type}/${cpu_type}.h
488 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
489 then
490         tm_p_file=${cpu_type}/${cpu_type}-protos.h
492 extra_modes=
493 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
494 then
495         extra_modes=${cpu_type}/${cpu_type}-modes.def
497 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
498 then
499         extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
502 case ${target} in
503 aarch64*-*-*)
504         tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
505         case ${with_abi} in
506         "")
507                 if test "x$with_multilib_list" = xilp32; then
508                         tm_file="aarch64/biarchilp32.h ${tm_file}"
509                 else
510                         tm_file="aarch64/biarchlp64.h ${tm_file}"
511                 fi
512                 ;;
513         ilp32)
514                 tm_file="aarch64/biarchilp32.h ${tm_file}"
515                 ;;
516         lp64)
517                 tm_file="aarch64/biarchlp64.h ${tm_file}"
518                 ;;
519         *)
520                 echo "Unknown ABI used in --with-abi=$with_abi"
521                 exit 1
522         esac
523         ;;
524 i[34567]86-*-*)
525         if test "x$with_abi" != x; then
526                 echo "This target does not support --with-abi."
527                 exit 1
528         fi
529         if test "x$enable_cld" = xyes; then
530                 tm_defines="${tm_defines} USE_IX86_CLD=1"
531         fi
532         if test "x$enable_frame_pointer" = xyes; then
533                 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
534         fi
535         tm_file="vxworks-dummy.h ${tm_file}"
536         ;;
537 x86_64-*-*)
538         case ${with_abi} in
539         "")
540                 if test "x$with_multilib_list" = xmx32; then
541                         tm_file="i386/biarchx32.h ${tm_file}"
542                 else
543                         tm_file="i386/biarch64.h ${tm_file}"
544                 fi
545                 ;;
546         64 | m64)
547                 tm_file="i386/biarch64.h ${tm_file}"
548                 ;;
549         x32 | mx32)
550                 tm_file="i386/biarchx32.h ${tm_file}"
551                 ;;
552         *)
553                 echo "Unknown ABI used in --with-abi=$with_abi"
554                 exit 1
555         esac
556         if test "x$enable_cld" = xyes; then
557                 tm_defines="${tm_defines} USE_IX86_CLD=1"
558         fi
559         if test "x$enable_frame_pointer" = xyes; then
560                 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
561         fi
562         tm_file="vxworks-dummy.h ${tm_file}"
563         ;;
564 arm*-*-*)
565         tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
566         tm_file="vxworks-dummy.h ${tm_file}"
567         ;;
568 mips*-*-* | sh*-*-* | sparc*-*-*)
569         tm_file="vxworks-dummy.h ${tm_file}"
570         ;;
571 esac
573 # On a.out targets, we need to use collect2.
574 case ${target} in
575 *-*-*aout*)
576         use_collect2=yes
577         ;;
578 esac
580 # Common C libraries.
581 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
583 # 32-bit x86 processors supported by --with-arch=.  Each processor
584 # MUST be separated by exactly one space.
585 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
586 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
587 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
588 pentium4 pentium4m pentiumpro prescott"
590 # 64-bit x86 processors supported by --with-arch=.  Each processor
591 # MUST be separated by exactly one space.
592 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
593 bdver3 bdver4 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
594 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
595 sandybridge ivybridge haswell broadwell bonnell silvermont knl x86-64 \
596 native"
598 # Additional x86 processors supported by --with-cpu=.  Each processor
599 # MUST be separated by exactly one space.
600 x86_cpus="generic intel"
602 # Common parts for widely ported systems.
603 case ${target} in
604 *-*-darwin*)
605   tmake_file="t-darwin ${cpu_type}/t-darwin"
606   tm_file="${tm_file} darwin.h"
607   case ${target} in
608   *-*-darwin9*)
609     tm_file="${tm_file} darwin9.h"
610     ;;
611   *-*-darwin[1][01]*)
612     tm_file="${tm_file} darwin9.h darwin10.h"
613     ;;
614   *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
615     tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
616     ;;
617   esac
618   tm_file="${tm_file} ${cpu_type}/darwin.h"
619   tm_p_file="${tm_p_file} darwin-protos.h"
620   target_gtfiles="\$(srcdir)/config/darwin.c"
621   extra_options="${extra_options} darwin.opt"
622   c_target_objs="${c_target_objs} darwin-c.o"
623   cxx_target_objs="${cxx_target_objs} darwin-c.o"
624   fortran_target_objs="darwin-f.o"
625   target_has_targetcm=yes
626   extra_objs="darwin.o"
627   extra_gcc_objs="darwin-driver.o"
628   default_use_cxa_atexit=yes
629   use_gcc_stdint=wrap
630   case ${enable_threads} in
631     "" | yes | posix) thread_file='posix' ;;
632   esac
633   ;;
634 *-*-dragonfly*)
635   gas=yes
636   gnu_ld=yes
637   tmake_file="t-slibgcc"
638   case ${enable_threads} in
639     "" | yes | posix)
640       thread_file='posix'
641       ;;
642     no | single)
643       # Let these non-posix thread selections fall through if requested
644       ;;
645     *)
646       echo 'Unknown thread configuration for DragonFly BSD'
647       exit 1
648       ;;
649   esac
650   extra_options="$extra_options rpath.opt dragonfly.opt"
651   default_use_cxa_atexit=yes
652   use_gcc_stdint=wrap
653   ;;
654 *-*-freebsd*)
655   # This is the generic ELF configuration of FreeBSD.  Later
656   # machine-specific sections may refine and add to this
657   # configuration.
658   #
659   # Due to tm_file entry ordering issues that vary between cpu
660   # architectures, we only define fbsd_tm_file to allow the
661   # machine-specific section to dictate the final order of all
662   # entries of tm_file with the minor exception that components
663   # of the tm_file set here will always be of the form:
664   #
665   # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
666   #
667   # The machine-specific section should not tamper with this
668   # ordering but may order all other entries of tm_file as it
669   # pleases around the provided core setting.
670   gas=yes
671   gnu_ld=yes
672   fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
673   if test "$fbsd_major" = ""; then
674     echo "Specify the major version number of the targeted FreeBSD release"
675     echo "like this: --target=amd64-unknown-freebsd10.1"
676     exit 1
677   fi
678   tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
679   tmake_file="t-slibgcc"
680   case ${enable_threads} in
681     no)
682       fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
683       ;;
684     "" | yes | posix)
685       thread_file='posix'
686       ;;
687     *)
688       echo 'Unknown thread configuration for FreeBSD'
689       exit 1
690       ;;
691   esac
692   fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
693   extra_options="$extra_options rpath.opt freebsd.opt"
694   case ${target} in
695     *-*-freebsd[345].*)
696       :;;
697     *)
698       default_use_cxa_atexit=yes;;
699   esac
700   use_gcc_stdint=wrap
701   ;;
702 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
703   extra_options="$extra_options gnu-user.opt"
704   gas=yes
705   gnu_ld=yes
706   case ${enable_threads} in
707     "" | yes | posix) thread_file='posix' ;;
708   esac
709   tmake_file="t-slibgcc"
710   case $target in
711     *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
712       :;;
713     *-*-gnu*)
714       native_system_header_dir=/include
715       ;;
716   esac
717   # Linux C libraries selection switch: glibc / uclibc / bionic.
718   # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
719   case $target in
720     *linux*)
721       tm_p_file="${tm_p_file} linux-protos.h"
722       tmake_file="${tmake_file} t-linux"
723       extra_objs="${extra_objs} linux.o"
724       extra_options="${extra_options} linux.opt"
725       ;;
726   esac
727   case $target in
728     *-*-*android*)
729       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
730       ;;
731     *-*-*uclibc*)
732       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
733       ;;
734     *-*-*musl*)
735       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
736       ;;
737     *)
738       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
739       ;;
740   esac
741   # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
742   # is provided.
743   default_use_cxa_atexit=yes
744   use_gcc_tgmath=no
745   use_gcc_stdint=wrap
746   # Enable compilation for Android by default for *android* targets.
747   case $target in
748     *-*-*android*)
749       tm_defines="$tm_defines ANDROID_DEFAULT=1"
750       ;;
751     *)
752       tm_defines="$tm_defines ANDROID_DEFAULT=0"
753       ;;
754   esac
755   c_target_objs="${c_target_objs} glibc-c.o"
756   cxx_target_objs="${cxx_target_objs} glibc-c.o"
757   tmake_file="${tmake_file} t-glibc"
758   target_has_targetcm=yes
759   ;;
760 *-*-netbsd*)
761   tmake_file="t-slibgcc"
762   gas=yes
763   gnu_ld=yes
765   # NetBSD 2.0 and later get POSIX threads enabled by default.
766   # Allow them to be explicitly enabled on any other version.
767   case ${enable_threads} in
768     "")
769       case ${target} in
770         *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
771           thread_file='posix'
772           tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
773           ;;
774       esac
775       ;;
776     yes | posix)
777       thread_file='posix'
778       tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
779       ;;
780   esac
782   # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
783   # default (unless overridden by --disable-__cxa_atexit).
784   case ${target} in
785     *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
786       default_use_cxa_atexit=yes
787       ;;
788   esac
789   ;;
790 *-*-openbsd*)
791   tmake_file="t-openbsd"
792   case ${enable_threads} in
793     yes)
794       thread_file='posix'
795       ;;
796   esac
797   case ${target} in
798     *-*-openbsd2.*|*-*-openbsd3.[012])
799       tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
800   esac
801   case ${target} in
802     *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
803       default_use_cxa_atexit=yes
804       ;;
805   esac
806   ;;
807 *-*-rtems*)
808   case ${enable_threads} in
809     "" | yes | rtems) thread_file='rtems' ;;
810     posix) thread_file='posix' ;;
811     no) ;;
812     *)
813       echo 'Unknown thread configuration for RTEMS'
814       exit 1
815       ;;
816   esac
817   tmake_file="${tmake_file} t-rtems"
818   extra_options="${extra_options} rtems.opt"
819   default_use_cxa_atexit=yes
820   use_gcc_stdint=wrap
821   ;;
822 *-*-uclinux*)
823   extra_options="$extra_options gnu-user.opt"
824   use_gcc_stdint=wrap
825   tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
826   ;;
827 *-*-rdos*)
828   use_gcc_stdint=wrap
829   ;;
830 *-*-solaris2*)
831   # i?86-*-solaris2* needs to insert headers between cpu default and
832   # Solaris 2 specific ones.
833   sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
834   sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
835   sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
836   use_gcc_stdint=wrap
837   if test x$gnu_ld = xyes; then
838     tm_file="usegld.h ${tm_file}"
839   fi
840   if test x$gas = xyes; then
841     tm_file="usegas.h ${tm_file}"
842   fi
843   tm_p_file="${tm_p_file} sol2-protos.h"
844   tmake_file="${tmake_file} t-sol2 t-slibgcc"
845   c_target_objs="${c_target_objs} sol2-c.o"
846   cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
847   extra_objs="sol2.o sol2-stubs.o"
848   extra_options="${extra_options} sol2.opt"
849   case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
850     "":yes:* | yes:yes:* )
851       thread_file=posix
852       ;;
853   esac
854   ;;
855 *-*-*vms*)
856   extra_options="${extra_options} vms/vms.opt"
857   xmake_file=vms/x-vms
858   tmake_file="vms/t-vms t-slibgcc"
859   extra_objs="vms.o"
860   target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
861   tm_p_file="${tm_p_file} vms/vms-protos.h"
862   xm_file="vms/xm-vms.h"
863   c_target_objs="vms-c.o"
864   cxx_target_objs="vms-c.o"
865   fortran_target_objs="vms-f.o"
866   use_gcc_stdint=provide
867   tm_file="${tm_file} vms/vms-stdint.h"
868   if test x$gnu_ld != xyes; then
869     # Build wrappers for native case.
870     extra_programs="ld\$(exeext) ar\$(exeext)"
871     tmake_file="$tmake_file vms/t-vmsnative"
872   fi
873   ;;
874 *-*-vxworks*)
875   tmake_file=t-vxworks
876   xm_defines=POSIX
877   extra_options="${extra_options} vxworks.opt"
878   extra_objs="$extra_objs vxworks.o"
879   case ${enable_threads} in
880     no) ;;
881     "" | yes | vxworks) thread_file='vxworks' ;;
882     *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
883   esac
884   ;;
885 *-*-elf|arc*-*-elf*)
886   # Assume that newlib is being used and so __cxa_atexit is provided.
887   default_use_cxa_atexit=yes
888   use_gcc_stdint=wrap
889   ;;
890 esac
892 case ${target} in
893 aarch64*-*-elf)
894         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
895         tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
896         tmake_file="${tmake_file} aarch64/t-aarch64"
897         use_gcc_stdint=wrap
898         case $target in
899         aarch64_be-*)
900                 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
901                 ;;
902         esac
903         aarch64_multilibs="${with_multilib_list}"
904         if test "$aarch64_multilibs" = "default"; then
905                 aarch64_multilibs="lp64,ilp32"
906         fi
907         aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
908         for aarch64_multilib in ${aarch64_multilibs}; do
909                 case ${aarch64_multilib} in
910                 ilp32 | lp64 )
911                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
912                         ;;
913                 *)
914                         echo "--with-multilib-list=${aarch64_multilib} not supported."
915                         exit 1
916                 esac
917         done
918         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
919         ;;
920 aarch64*-*-linux*)
921         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
922         tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
923         tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
924         case $target in
925         aarch64_be-*)
926                 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
927                 ;;
928         esac
929         aarch64_multilibs="${with_multilib_list}"
930         if test "$aarch64_multilibs" = "default"; then
931                 # TODO: turn on ILP32 multilib build after its support is mature.
932                 # aarch64_multilibs="lp64,ilp32"
933                 aarch64_multilibs="lp64"
934         fi
935         aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
936         for aarch64_multilib in ${aarch64_multilibs}; do
937                 case ${aarch64_multilib} in
938                 ilp32 | lp64 )
939                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
940                         ;;
941                 *)
942                         echo "--with-multilib-list=${aarch64_multilib} not supported."
943                         exit 1
944                 esac
945         done
946         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
947         ;;
948 alpha*-*-linux*)
949         tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
950         tmake_file="${tmake_file} alpha/t-linux"
951         extra_options="${extra_options} alpha/elf.opt"
952         ;;
953 alpha*-*-freebsd*)
954         tm_file="elfos.h ${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
955         extra_options="${extra_options} alpha/elf.opt"
956         ;;
957 alpha*-*-netbsd*)
958         tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
959         extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
960                        alpha/elf.opt"
961         ;;
962 alpha*-*-openbsd*)
963         tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
964         tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
965         extra_options="${extra_options} openbsd.opt alpha/elf.opt"
966         # default x-alpha is only appropriate for dec-osf.
967         ;;
968 alpha*-dec-*vms*)
969         tm_file="${tm_file} vms/vms.h alpha/vms.h"
970         tmake_file="${tmake_file} alpha/t-vms"
971         ;;
972 arc*-*-elf*)
973         extra_headers="arc-simd.h"
974         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
975         tmake_file="arc/t-arc-newlib arc/t-arc"
976         case x"${with_cpu}" in
977           xarc600|xarc601|xarc700)
978                 target_cpu_default="TARGET_CPU_$with_cpu"
979                 ;;
980         esac
981         if test x${with_endian} = x; then
982                 case ${target} in
983                 arc*be-*-* | arc*eb-*-*)        with_endian=big ;;
984                 *)                              with_endian=little ;;
985                 esac
986         fi
987         case ${with_endian} in
988         big|little)             ;;
989         *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
990         esac
991         case ${with_endian} in
992         big*)   tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
993         esac
994         ;;
995 arc*-*-linux-uclibc*)
996         extra_headers="arc-simd.h"
997         tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}"
998         tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc"
999         tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0"
1000         tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1"
1001         case x"${with_cpu}" in
1002           xarc600|xarc601|xarc700)
1003                 target_cpu_default="TARGET_CPU_$with_cpu"
1004                 ;;
1005         esac
1006         if test x${with_endian} = x; then
1007                 case ${target} in
1008                 arc*be-*-* | arc*eb-*-*)        with_endian=big ;;
1009                 *)                              with_endian=little ;;
1010                 esac
1011         fi
1012         case ${with_endian} in
1013         big|little)             ;;
1014         *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
1015         esac
1016         case ${with_endian} in
1017         big*)   tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}"
1018         esac
1019         ;;
1020 arm-wrs-vxworks)
1021         tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1022         extra_options="${extra_options} arm/vxworks.opt"
1023         tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1024         ;;
1025 arm*-*-freebsd*)                # ARM FreeBSD EABI
1026         tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1027         case $target in
1028         arm*b-*-freebsd*)
1029             tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1030             ;;
1031         esac
1032         tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1033         tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1034         case $target in
1035         armv6*-*-freebsd*)
1036             tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
1037             ;;
1038         esac
1039         case $target in
1040         arm*hf-*-freebsd*)
1041             tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1042             ;;
1043         esac
1044         with_tls=${with_tls:-gnu}
1045         ;;
1046 arm*-*-netbsdelf*)
1047         tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1048         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1049         tmake_file="${tmake_file} arm/t-arm"
1050         ;;
1051 arm*-*-linux-*)                 # ARM GNU/Linux with ELF
1052         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
1053         extra_options="${extra_options} linux-android.opt"
1054         case $target in
1055         arm*b-*-linux*)
1056             tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1057             ;;
1058         esac
1059         tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1060         tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1061         # Define multilib configuration for arm-linux-androideabi.
1062         case ${target} in
1063         *-androideabi)
1064             tmake_file="$tmake_file arm/t-linux-androideabi"
1065             ;;
1066         esac
1067         # The EABI requires the use of __cxa_atexit.
1068         default_use_cxa_atexit=yes
1069         with_tls=${with_tls:-gnu}
1070         ;;
1071 arm*-*-uclinux*eabi*)           # ARM ucLinux
1072         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1073         tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1074         tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1075         # The EABI requires the use of __cxa_atexit.
1076         default_use_cxa_atexit=yes
1077         ;;
1078 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
1079         case ${target} in
1080         arm*eb-*-eabi*)
1081           tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1082         esac
1083         default_use_cxa_atexit=yes
1084         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1085         tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1086         case ${target} in
1087         arm*-*-eabi*)
1088           tm_file="$tm_file newlib-stdint.h"
1089           tmake_file="${tmake_file} arm/t-bpabi"
1090           use_gcc_stdint=wrap
1091           ;;
1092         arm*-*-rtems*)
1093           tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1094           tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1095           ;;
1096         arm*-*-symbianelf*)
1097           tm_file="${tm_file} arm/symbian.h"
1098           # We do not include t-bpabi for Symbian OS because the system
1099           # provides its own implementation of the BPABI functions.
1100           tmake_file="${tmake_file} arm/t-symbian"
1101           ;;
1102         esac
1103         tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1104         ;;
1105 avr-*-rtems*)
1106         tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h"
1107         tm_defines="${tm_defines} WITH_RTEMS"
1108         tmake_file="${tmake_file} avr/t-avr avr/t-multilib avr/t-rtems"
1109         extra_gcc_objs="driver-avr.o avr-devices.o"
1110         extra_objs="avr-devices.o avr-log.o"
1111         ;;
1112 avr-*-*)
1113         tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1114         if test x${with_avrlibc} != xno; then
1115             tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1116             tm_defines="${tm_defines} WITH_AVRLIBC"
1117         fi
1118         tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1119         use_gcc_stdint=wrap
1120         extra_gcc_objs="driver-avr.o avr-devices.o"
1121         extra_objs="avr-devices.o avr-log.o"
1122         ;;
1123 bfin*-elf*)
1124         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1125         tmake_file=bfin/t-bfin-elf
1126         use_collect2=no
1127         ;;
1128 bfin*-uclinux*)
1129         tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1130         tmake_file=bfin/t-bfin-uclinux
1131         use_collect2=no
1132         ;;
1133 bfin*-linux-uclibc*)
1134         tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h"
1135         tmake_file="${tmake_file} bfin/t-bfin-linux"
1136         use_collect2=no
1137         ;;
1138 bfin*-rtems*)
1139         tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1140         tmake_file="${tmake_file} bfin/t-rtems"
1141         ;;
1142 bfin*-*)
1143         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1144         use_collect2=no
1145         use_gcc_stdint=wrap
1146         ;;
1147 cr16-*-elf)
1148         tm_file="elfos.h ${tm_file}"
1149         tmake_file="${tmake_file} cr16/t-cr16 "
1150         use_collect2=no
1151         ;;
1152 crisv32-*-elf | crisv32-*-none)
1153         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1154         tmake_file="cris/t-cris"
1155         target_cpu_default=32
1156         gas=yes
1157         extra_options="${extra_options} cris/elf.opt"
1158         use_gcc_stdint=wrap
1159         ;;
1160 cris-*-elf | cris-*-none)
1161         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1162         tmake_file="cris/t-cris cris/t-elfmulti"
1163         gas=yes
1164         extra_options="${extra_options} cris/elf.opt"
1165         use_gcc_stdint=wrap
1166         ;;
1167 crisv32-*-linux* | cris-*-linux*)
1168         tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1169         tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1170         extra_options="${extra_options} cris/linux.opt"
1171         case $target in
1172           cris-*-*)
1173                 target_cpu_default=10
1174                 ;;
1175           crisv32-*-*)
1176                 target_cpu_default=32
1177                 ;;
1178         esac
1179         ;;
1180 epiphany-*-elf )
1181         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1182         tmake_file="epiphany/t-epiphany"
1183         extra_options="${extra_options} fused-madd.opt"
1184         extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o"
1185         tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1186         extra_headers="epiphany_intrinsics.h"
1187         ;;
1188 fr30-*-elf)
1189         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1190         ;;
1191 frv-*-elf)
1192         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1193         tmake_file=frv/t-frv
1194         ;;
1195 frv-*-*linux*)
1196         tm_file="dbxelf.h elfos.h ${tm_file} \
1197                  gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1198         tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1199         ;;
1200 ft32-*-elf)
1201         gas=yes
1202         gnu_ld=yes
1203         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1204         tmake_file="${tmake_file} ft32/t-ft32"
1205         ;;
1206 moxie-*-elf)
1207         gas=yes
1208         gnu_ld=yes
1209         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1210         tmake_file="${tmake_file} moxie/t-moxie"
1211         ;;
1212 moxie-*-uclinux*)
1213         gas=yes
1214         gnu_ld=yes
1215         tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1216         tmake_file="${tmake_file} moxie/t-moxie"
1217         ;;
1218 moxie-*-rtems*)
1219         tmake_file="${tmake_file} moxie/t-moxie"
1220         tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1221         ;;
1222 moxie-*-moxiebox*)
1223         gas=yes
1224         gnu_ld=yes
1225         tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1226         tmake_file="${tmake_file} moxie/t-moxiebox"
1227         ;;
1228 h8300-*-rtems*)
1229         tmake_file="${tmake_file} h8300/t-h8300 h8300/t-rtems"
1230         tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h"
1231         ;;
1232 h8300-*-elf*)
1233         tmake_file="h8300/t-h8300"
1234         tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1235         ;;
1236 h8300-*-linux*)
1237         tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1238         tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1239         ;;
1240 hppa*64*-*-linux*)
1241         target_cpu_default="MASK_PA_11|MASK_PA_20"
1242         tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1243                  glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1244                  pa/pa64-linux.h"
1245         gas=yes gnu_ld=yes
1246         ;;
1247 hppa*-*-linux*)
1248         target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
1249         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1250                  pa/pa32-regs.h pa/pa32-linux.h"
1251         tmake_file="${tmake_file} pa/t-linux"
1252         ;;
1253 hppa*-*-openbsd*)
1254         target_cpu_default="MASK_PA_11"
1255         tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1256                  pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1257         extra_options="${extra_options} openbsd.opt"
1258         gas=yes
1259         gnu_ld=yes
1260         ;;
1261 hppa[12]*-*-hpux10*)
1262         case ${target} in
1263         hppa1.1-*-* | hppa2*-*-*)
1264                 target_cpu_default="MASK_PA_11"
1265                 ;;
1266         esac
1267         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1268                  pa/pa-hpux.h pa/pa-hpux10.h"
1269         extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1270         case ${target} in
1271         *-*-hpux10.[1-9]*)
1272                 tm_file="${tm_file} pa/pa-hpux1010.h"
1273                 extra_options="${extra_options} pa/pa-hpux1010.opt"
1274                 ;;
1275         esac
1276         use_gcc_stdint=provide
1277         tm_file="${tm_file} hpux-stdint.h"
1278         tmake_file="t-slibgcc"
1279         case ${enable_threads} in
1280           "")
1281             if test x$have_pthread_h = xyes ; then
1282               tmake_file="${tmake_file} pa/t-dce-thr"
1283             fi
1284             ;;
1285           yes | dce)
1286             tmake_file="${tmake_file} pa/t-dce-thr"
1287             ;;
1288         esac
1289         use_collect2=yes
1290         gas=yes
1291         if test "x$with_dwarf2" != x; then
1292                 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1293                 dwarf2=no
1294         fi
1295         ;;
1296 hppa*64*-*-hpux11*)
1297         target_cpu_default="MASK_PA_11|MASK_PA_20"
1298         if test x$gnu_ld = xyes
1299         then
1300                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1301         fi
1302         tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1303                  pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1304                  pa/pa-hpux11.h"
1305         case ${target} in
1306         *-*-hpux11.[12]*)
1307                 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1308                 extra_options="${extra_options} pa/pa-hpux1111.opt"
1309                 ;;
1310         *-*-hpux11.[3-9]*)
1311                 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1312                 extra_options="${extra_options} pa/pa-hpux1131.opt"
1313                 ;;
1314         *)
1315                 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1316                 ;;
1317         esac
1318         extra_options="${extra_options} pa/pa-hpux.opt \
1319                        pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1320         tmake_file="t-slibgcc"
1321         case x${enable_threads} in
1322         x | xyes | xposix )
1323                 thread_file=posix
1324                 ;;
1325         esac
1326         gas=yes
1327         case ${target} in
1328           *-*-hpux11.[01]*)
1329                 use_gcc_stdint=provide
1330                 tm_file="${tm_file} hpux-stdint.h"
1331                 ;;
1332           *-*-hpux11.[23]*)
1333                 use_gcc_stdint=wrap
1334                 tm_file="${tm_file} hpux-stdint.h"
1335                 ;;
1336         esac
1337         ;;
1338 hppa[12]*-*-hpux11*)
1339         case ${target} in
1340         hppa1.1-*-* | hppa2*-*-*)
1341                 target_cpu_default="MASK_PA_11"
1342                 ;;
1343         esac
1344         tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1345                  pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1346         extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1347                        hpux11.opt"
1348         case ${target} in
1349         *-*-hpux11.[12]*)
1350                 tm_file="${tm_file} pa/pa-hpux1111.h"
1351                 extra_options="${extra_options} pa/pa-hpux1111.opt"
1352                 ;;
1353         *-*-hpux11.[3-9]*)
1354                 tm_file="${tm_file} pa/pa-hpux1131.h"
1355                 extra_options="${extra_options} pa/pa-hpux1131.opt"
1356                 ;;
1357         esac
1358         tmake_file="t-slibgcc"
1359         case x${enable_threads} in
1360         x | xyes | xposix )
1361                 thread_file=posix
1362                 ;;
1363         esac
1364         use_collect2=yes
1365         gas=yes
1366         case ${target} in
1367           *-*-hpux11.[01]*)
1368                 use_gcc_stdint=provide
1369                 tm_file="${tm_file} hpux-stdint.h"
1370                 ;;
1371           *-*-hpux11.[23]*)
1372                 use_gcc_stdint=wrap
1373                 tm_file="${tm_file} hpux-stdint.h"
1374                 ;;
1375         esac
1376         if test "x$with_dwarf2" != x; then
1377                 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1378                 dwarf2=no
1379         fi
1380         ;;
1381 i[34567]86-*-darwin*)
1382         need_64bit_isa=yes
1383         # Baseline choice for a machine that allows m64 support.
1384         with_cpu=${with_cpu:-core2}
1385         tmake_file="${tmake_file} t-slibgcc"
1386         ;;
1387 x86_64-*-darwin*)
1388         with_cpu=${with_cpu:-core2}
1389         tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1390         tm_file="${tm_file} ${cpu_type}/darwin64.h"
1391         ;;
1392 i[34567]86-*-elf*)
1393         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1394         ;;
1395 x86_64-*-elf*)
1396         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1397         ;;
1398 i[34567]86-*-rdos*)
1399     tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1400     ;;
1401 x86_64-*-rdos*)
1402     tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rdos.h i386/rdos64.h"
1403     tmake_file="i386/t-i386elf t-svr4"
1404     ;;
1405 i[34567]86-*-dragonfly*)
1406         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1407         tmake_file="${tmake_file} i386/t-crtstuff"
1408         ;;
1409 x86_64-*-dragonfly*)
1410         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/x86-64.h i386/dragonfly.h"
1411         tmake_file="${tmake_file} i386/t-crtstuff"
1412         ;;
1413 i[34567]86-*-freebsd*)
1414         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1415         ;;
1416 x86_64-*-freebsd*)
1417         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
1418         ;;
1419 i[34567]86-*-netbsdelf*)
1420         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
1421         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1422         ;;
1423 x86_64-*-netbsd*)
1424         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
1425         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1426         ;;
1427 i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
1428         tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
1429         extra_options="${extra_options} openbsd.opt"
1430         # needed to unconfuse gdb
1431         tmake_file="${tmake_file} t-openbsd i386/t-openbsd"
1432         # we need collect2 until our bug is fixed...
1433         use_collect2=yes
1434         ;;
1435 i[34567]86-*-openbsd*)
1436         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1437         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1438         extra_options="${extra_options} openbsd.opt"
1439         gas=yes
1440         gnu_ld=yes
1441         ;;
1442 x86_64-*-openbsd*)
1443         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1444         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1445         extra_options="${extra_options} openbsd.opt"
1446         gas=yes
1447         gnu_ld=yes
1448         ;;
1449 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1450                         # Intel 80386's running GNU/*
1451                         # with ELF format using glibc 2
1452         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1453         case ${target} in
1454         i[34567]86-*-linux*)
1455                 tm_file="${tm_file} linux.h linux-android.h"
1456                 extra_options="${extra_options} linux-android.opt"
1457                 # Assume modern glibc if not targeting Android nor uclibc.
1458                 case ${target} in
1459                 *-*-*android*|*-*-*uclibc*)
1460                   ;;
1461                 *)
1462                   default_gnu_indirect_function=yes
1463                   ;;
1464                 esac
1465                 if test x$enable_targets = xall; then
1466                         tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1467                         tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1468                         tmake_file="${tmake_file} i386/t-linux64"
1469                         x86_multilibs="${with_multilib_list}"
1470                         if test "$x86_multilibs" = "default"; then
1471                                 x86_multilibs="m64,m32"
1472                         fi
1473                         x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1474                         for x86_multilib in ${x86_multilibs}; do
1475                                 case ${x86_multilib} in
1476                                 m32 | m64 | mx32)
1477                                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1478                                         ;;
1479                                 *)
1480                                         echo "--with-multilib-list=${x86_with_multilib} not supported."
1481                                         exit 1
1482                                 esac
1483                         done
1484                         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1485                         need_64bit_isa=yes
1486                         if test x$with_cpu = x; then
1487                                 if test x$with_cpu_64 = x; then
1488                                         with_cpu_64=generic
1489                                 fi
1490                         else
1491                                 case " $x86_cpus $x86_archs $x86_64_archs " in
1492                                 *" $with_cpu "*)
1493                                         ;;
1494                                 *)
1495                                         echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1496                                         echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1497                                         exit 1
1498                                         ;;
1499                                 esac
1500                         fi
1501                 else
1502                         tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1503                 fi
1504                 ;;
1505         i[34567]86-*-knetbsd*-gnu)
1506                 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h"
1507                 ;;
1508         i[34567]86-*-kfreebsd*-gnu)
1509                 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1510                 ;;
1511         i[34567]86-*-kopensolaris*-gnu)
1512                 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1513                 ;;
1514         i[34567]86-*-gnu*)
1515                 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1516                 ;;
1517         esac
1518         ;;
1519 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
1520         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1521                  i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1522         case ${target} in
1523         x86_64-*-linux*)
1524                 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1525                 extra_options="${extra_options} linux-android.opt"
1526                 # Assume modern glibc if not targeting Android nor uclibc.
1527                 case ${target} in
1528                 *-*-*android*|*-*-*uclibc*)
1529                   ;;
1530                 *)
1531                   default_gnu_indirect_function=yes
1532                   ;;
1533                 esac
1534                 ;;
1535         x86_64-*-kfreebsd*-gnu)
1536                 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1537                 ;;
1538         x86_64-*-knetbsd*-gnu)
1539                 tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu64.h"
1540                 ;;
1541         esac
1542         tmake_file="${tmake_file} i386/t-linux64"
1543         x86_multilibs="${with_multilib_list}"
1544         if test "$x86_multilibs" = "default"; then
1545                 case ${with_abi} in
1546                 x32 | mx32)
1547                         x86_multilibs="mx32"
1548                         ;;
1549                 *)
1550                         x86_multilibs="m64,m32"
1551                         ;;
1552                 esac
1553         fi
1554         x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1555         for x86_multilib in ${x86_multilibs}; do
1556                 case ${x86_multilib} in
1557                 m32 | m64 | mx32)
1558                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1559                         ;;
1560                 *)
1561                         echo "--with-multilib-list=${x86_with_multilib} not supported."
1562                         exit 1
1563                 esac
1564         done
1565         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1566         ;;
1567 i[34567]86-pc-msdosdjgpp*)
1568         xm_file=i386/xm-djgpp.h
1569         tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1570         native_system_header_dir=/dev/env/DJDIR/include
1571         extra_options="${extra_options} i386/djgpp.opt"
1572         gnu_ld=yes
1573         gas=yes
1574         use_gcc_stdint=wrap
1575         ;;
1576 i[34567]86-*-lynxos*)
1577         xm_defines=POSIX
1578         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1579         tmake_file="${tmake_file} t-lynx"
1580         extra_options="${extra_options} lynx.opt"
1581         thread_file=lynx
1582         gnu_ld=yes
1583         gas=yes
1584         ;;
1585 i[34567]86-*-nto-qnx*)
1586         tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1587         extra_options="${extra_options} i386/nto.opt"
1588         gnu_ld=yes
1589         gas=yes
1590         ;;
1591 i[34567]86-*-rtems*)
1592         tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h"
1593         tmake_file="${tmake_file} i386/t-rtems"
1594         ;;
1595 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1596         # Set default arch_32 to pentium4, tune_32 to generic like the other
1597         # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1598         with_arch_32=${with_arch_32:-pentium4}
1599         with_tune_32=${with_tune_32:-generic}
1600         tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1601         tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1602         tmake_file="$tmake_file i386/t-sol2"
1603         need_64bit_isa=yes
1604         if test x$with_cpu = x; then
1605                 if test x$with_cpu_64 = x; then
1606                         with_cpu_64=generic
1607                 fi
1608         else
1609                 case " $x86_cpus $x86_archs $x86_64_archs " in
1610                 *" $with_cpu "*)
1611                         ;;
1612                 *)
1613                         echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1614                         echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1615                         exit 1
1616                         ;;
1617                 esac
1618         fi
1619         ;;
1620 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
1621         tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
1622         case ${target} in
1623           *-vxworksae*)
1624             tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1625             tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1626             ;;
1627           *)
1628             tm_file="${tm_file} vxworks.h i386/vxworks.h"
1629             tmake_file="${tmake_file} i386/t-vxworks"
1630             ;;
1631         esac
1632         ;;
1633 i[34567]86-*-cygwin*)
1634         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
1635         xm_file=i386/xm-cygwin.h
1636         tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1637         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1638         extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1639         extra_objs="winnt.o winnt-stubs.o"
1640         c_target_objs="${c_target_objs} msformat-c.o"
1641         cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1642         if test x$enable_threads = xyes; then
1643                 thread_file='posix'
1644         fi
1645         default_use_cxa_atexit=yes
1646         use_gcc_stdint=wrap
1647         ;;
1648 x86_64-*-cygwin*)
1649         need_64bit_isa=yes
1650         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
1651         xm_file=i386/xm-cygwin.h
1652         tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1653         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1654         extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1655         extra_objs="winnt.o winnt-stubs.o"
1656         c_target_objs="${c_target_objs} msformat-c.o"
1657         cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1658         if test x$enable_threads = xyes; then
1659                 thread_file='posix'
1660         fi
1661         default_use_cxa_atexit=yes
1662         use_gcc_stdint=wrap
1663         tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1664         ;;
1665 i[34567]86-*-mingw* | x86_64-*-mingw*)
1666         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1667         xm_file=i386/xm-mingw32.h
1668         c_target_objs="${c_target_objs} winnt-c.o"
1669         cxx_target_objs="${cxx_target_objs} winnt-c.o"
1670         target_has_targetcm="yes"
1671         case ${target} in
1672                 x86_64-*-* | *-w64-*)
1673                         need_64bit_isa=yes
1674                         ;;
1675                 *)
1676                         ;;
1677         esac
1678         if test x$enable_threads = xposix ; then
1679                 tm_file="${tm_file} i386/mingw-pthread.h"
1680         fi
1681         tm_file="${tm_file} i386/mingw32.h"
1682         # This makes the logic if mingw's or the w64 feature set has to be used
1683         case ${target} in
1684                 *-w64-*)
1685                         user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1686                         user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1687                         tm_file="${tm_file} i386/mingw-w64.h"
1688                         if test x$enable_targets = xall; then
1689                                 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1690                                 if test x$with_cpu = x; then
1691                                         if test x$with_cpu_64 = x; then
1692                                                 with_cpu_64=generic
1693                                         fi
1694                                 else
1695                                         case " $x86_cpus $x86_archs $x86_64_archs " in
1696                                         *" $with_cpu "*)
1697                                                 ;;
1698                                         *)
1699                                                 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1700                                                 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1701                                                 exit 1
1702                                                 ;;
1703                                         esac
1704                                 fi
1705                         fi
1706                         ;;
1707                 *)
1708                         ;;
1709         esac
1710         tm_file="${tm_file} i386/mingw-stdint.h"
1711         tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1712         case ${target} in
1713                x86_64-w64-*)
1714                         tmake_file="${tmake_file} i386/t-mingw-w64"
1715                         ;;
1716                i[34567]86-w64-*)
1717                         tmake_file="${tmake_file} i386/t-mingw-w32"
1718                         ;;
1719         esac
1720         native_system_header_dir=/mingw/include
1721         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1722         extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1723         case ${target} in
1724                 *-w64-*)
1725                         extra_options="${extra_options} i386/mingw-w64.opt"
1726                         ;;
1727                 *)
1728                         ;;
1729         esac
1730         extra_objs="winnt.o winnt-stubs.o"
1731         c_target_objs="${c_target_objs} msformat-c.o"
1732         cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1733         gas=yes
1734         gnu_ld=yes
1735         default_use_cxa_atexit=yes
1736         use_gcc_stdint=wrap
1737         case ${enable_threads} in
1738           "" | yes | win32)
1739             thread_file='win32'
1740             ;;
1741           posix)
1742             thread_file='posix'
1743             ;;
1744         esac
1745         case ${target} in
1746                 *mingw32crt*)
1747                         tm_file="${tm_file} i386/crtdll.h"
1748                         ;;
1749                 *mingw32msv* | *mingw*)
1750                         ;;
1751         esac
1752         ;;
1753 i[34567]86-*-interix[3-9]*)
1754         tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h"
1755         tmake_file="${tmake_file} i386/t-interix"
1756         extra_options="${extra_options} rpath.opt i386/interix.opt"
1757         extra_objs="winnt.o winnt-stubs.o"
1758         target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1759         if test x$enable_threads = xyes ; then
1760                 thread_file='posix'
1761         fi
1762         if test x$stabs = xyes ; then
1763                 tm_file="${tm_file} dbxcoff.h"
1764         fi
1765         ;;
1766 ia64*-*-elf*)
1767         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1768         tmake_file="ia64/t-ia64"
1769         target_cpu_default="0"
1770         if test x$gas = xyes
1771         then
1772                 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1773         fi
1774         if test x$gnu_ld = xyes
1775         then
1776                 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1777         fi
1778         ;;
1779 ia64*-*-freebsd*)
1780         tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1781         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1782         tmake_file="${tmake_file} ia64/t-ia64"
1783         ;;
1784 ia64*-*-linux*)
1785         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1786         tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1787         target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1788         ;;
1789 ia64*-*-hpux*)
1790         tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1791         tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1792         target_cpu_default="MASK_GNU_AS"
1793         case x$enable_threads in
1794         x | xyes | xposix )
1795                 thread_file=posix
1796                 ;;
1797         esac
1798         use_collect2=no
1799         c_target_objs="ia64-c.o"
1800         cxx_target_objs="ia64-c.o"
1801         extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1802         use_gcc_stdint=wrap
1803         tm_file="${tm_file} hpux-stdint.h"
1804         case ${target} in
1805         *-*-hpux11.3*)
1806                 tm_file="${tm_file} ia64/hpux-unix2003.h"
1807                 ;;
1808         esac
1809         ;;
1810 ia64-hp-*vms*)
1811         tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1812         tmake_file="${tmake_file} ia64/t-ia64"
1813         target_cpu_default="0"
1814         if test x$gas = xyes
1815         then
1816                 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1817         fi
1818         extra_options="${extra_options} ia64/vms.opt"
1819         ;;
1820 iq2000*-*-elf*)
1821         tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1822         out_file=iq2000/iq2000.c
1823         md_file=iq2000/iq2000.md
1824         ;;
1825 lm32-*-elf*)
1826         tm_file="dbxelf.h elfos.h ${tm_file}"
1827         tmake_file="${tmake_file} lm32/t-lm32"
1828         ;;
1829 lm32-*-rtems*)
1830         tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1831         tmake_file="${tmake_file} lm32/t-lm32"
1832         tmake_file="${tmake_file} lm32/t-rtems"
1833          ;;
1834 lm32-*-uclinux*)
1835         tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1836         tmake_file="${tmake_file} lm32/t-lm32"
1837         ;;
1838 m32r-*-elf*)
1839         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1840         ;;
1841 m32rle-*-elf*)
1842         tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1843         ;;
1844 m32r-*-rtems*)
1845         tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h"
1846         tmake_file="${tmake_file} m32r/t-m32r"
1847         ;;
1848 m32r-*-linux*)
1849         tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1850         tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1851         gnu_ld=yes
1852         if test x$enable_threads = xyes; then
1853                 thread_file='posix'
1854         fi
1855         ;;
1856 m32rle-*-linux*)
1857         tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1858         tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1859         gnu_ld=yes
1860         if test x$enable_threads = xyes; then
1861                 thread_file='posix'
1862         fi
1863         ;;
1864 m68k-*-elf* | fido-*-elf*)
1865         case ${target} in
1866         fido-*-elf*)
1867                 # Check that $with_cpu makes sense.
1868                 case $with_cpu in
1869                 "" | "fidoa")
1870                         ;;
1871                 *)
1872                         echo "Cannot accept --with-cpu=$with_cpu"
1873                         exit 1
1874                         ;;
1875                 esac
1876                 with_cpu=fidoa
1877                 ;;
1878         *)
1879                 default_m68k_cpu=68020
1880                 default_cf_cpu=5206
1881                 ;;
1882         esac
1883         tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
1884         tm_defines="${tm_defines} MOTOROLA=1"
1885         tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1886         # Add multilibs for targets other than fido.
1887         case ${target} in
1888         fido-*-elf*)
1889                 ;;
1890         *)
1891                 tmake_file="$tmake_file m68k/t-mlibs"
1892                 ;;
1893         esac
1894         ;;
1895 m68k*-*-netbsdelf*)
1896         default_m68k_cpu=68020
1897         default_cf_cpu=5475
1898         tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
1899         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1900         tm_defines="${tm_defines} MOTOROLA=1"
1901         ;;
1902 m68k*-*-openbsd*)
1903         default_m68k_cpu=68020
1904         default_cf_cpu=5475
1905         # needed to unconfuse gdb
1906         tm_defines="${tm_defines} OBSD_OLD_GAS"
1907         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1908         extra_options="${extra_options} openbsd.opt"
1909         tmake_file="t-openbsd m68k/t-openbsd"
1910         # we need collect2 until our bug is fixed...
1911         use_collect2=yes
1912         ;;
1913 m68k-*-uclinux*)                # Motorola m68k/ColdFire running uClinux
1914                                 # with uClibc, using the new GNU/Linux-style
1915                                 # ABI.
1916         default_m68k_cpu=68020
1917         default_cf_cpu=5206
1918         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
1919         extra_options="${extra_options} m68k/uclinux.opt"
1920         tm_defines="${tm_defines} MOTOROLA=1"
1921         tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1922         ;;
1923 m68k-*-linux*)                  # Motorola m68k's running GNU/Linux
1924                                 # with ELF format using glibc 2
1925                                 # aka the GNU/Linux C library 6.
1926         default_m68k_cpu=68020
1927         default_cf_cpu=5475
1928         with_arch=${with_arch:-m68k}
1929         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
1930         extra_options="${extra_options} m68k/ieee.opt"
1931         tm_defines="${tm_defines} MOTOROLA=1"
1932         tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
1933         ;;
1934 m68k-*-rtems*)
1935         default_m68k_cpu=68020
1936         default_cf_cpu=5206
1937         tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
1938         tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h newlib-stdint.h"
1939         tm_defines="${tm_defines} MOTOROLA=1"
1940         ;;
1941 mcore-*-elf)
1942         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
1943         tmake_file=mcore/t-mcore
1944         inhibit_libc=true
1945         ;;
1946 mep-*-*)
1947         tm_file="dbxelf.h elfos.h ${tm_file}"
1948         tmake_file=mep/t-mep
1949         c_target_objs="mep-pragma.o"
1950         cxx_target_objs="mep-pragma.o"
1951         if test -d "${srcdir}/../newlib/libc/include" &&
1952            test "x$with_headers" = x; then
1953                 with_headers=yes
1954         fi
1955         use_gcc_stdint=wrap
1956         ;;
1957 microblaze*-linux*)
1958         case $target in
1959                 microblazeel-*)
1960                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1961                         ;;
1962                 microblaze-*)
1963                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1964                         ;;
1965         esac
1966         tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
1967         tm_file="${tm_file} glibc-stdint.h"
1968         c_target_objs="${c_target_objs} microblaze-c.o"
1969         cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1970         tmake_file="${tmake_file} microblaze/t-microblaze"
1971         tmake_file="${tmake_file} microblaze/t-microblaze-linux"
1972         ;;
1973 microblaze*-*-rtems*)
1974         case $target in
1975                 microblazeel-*)
1976                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1977                         ;;
1978                 microblaze-*)
1979                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1980                         ;;
1981         esac
1982         tm_file="${tm_file} dbxelf.h"
1983         tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
1984         c_target_objs="${c_target_objs} microblaze-c.o"
1985         cxx_target_objs="${cxx_target_objs} microblaze-c.o"
1986         tmake_file="${tmake_file} microblaze/t-microblaze"
1987         tmake_file="${tmake_file} microblaze/t-rtems"
1988         ;;
1989 microblaze*-*-elf)
1990         case $target in
1991                 microblazeel-*)
1992                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
1993                         ;;
1994                 microblaze-*)
1995                         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
1996                         ;;
1997         esac
1998         tm_file="${tm_file} dbxelf.h newlib-stdint.h"
1999         c_target_objs="${c_target_objs} microblaze-c.o"
2000         cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2001         tmake_file="${tmake_file} microblaze/t-microblaze"
2002         ;;
2003 mips*-*-netbsd*)                        # NetBSD/mips, either endian.
2004         target_cpu_default="MASK_ABICALLS"
2005         tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
2006         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2007         ;;
2008 mips*-img-linux*)
2009         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
2010         extra_options="${extra_options} linux-android.opt"
2011         tmake_file="${tmake_file} mips/t-img-linux"
2012         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2013         gnu_ld=yes
2014         gas=yes
2015         ;;
2016 mips*-mti-linux*)
2017         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h mips/mti-linux.h"
2018         extra_options="${extra_options} linux-android.opt"
2019         tmake_file="${tmake_file} mips/t-mti-linux"
2020         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2021         gnu_ld=yes
2022         gas=yes
2023         ;;
2024 mips*-*-linux*)                         # Linux MIPS, either endian.
2025         tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h"
2026         extra_options="${extra_options} linux-android.opt"
2027         case ${target} in
2028                 mipsisa32r6*)
2029                         default_mips_arch=mips32r6
2030                         ;;
2031                 mipsisa32r2*)
2032                         default_mips_arch=mips32r2
2033                         ;;
2034                 mipsisa32*)
2035                         default_mips_arch=mips32
2036                         ;;
2037                 mips64el-st-linux-gnu)
2038                         default_mips_abi=n32
2039                         tm_file="${tm_file} mips/st.h"
2040                         tmake_file="${tmake_file} mips/t-st"
2041                         enable_mips_multilibs="yes"
2042                         ;;
2043                 mips64octeon*-*-linux*)
2044                         default_mips_abi=n32
2045                         tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2046                         target_cpu_default=MASK_SOFT_FLOAT_ABI
2047                         enable_mips_multilibs="yes"
2048                         ;;
2049                 mipsisa64r6*-*-linux*)
2050                         default_mips_abi=n32
2051                         default_mips_arch=mips64r6
2052                         enable_mips_multilibs="yes"
2053                         ;;
2054                 mipsisa64r2*-*-linux*)
2055                         default_mips_abi=n32
2056                         default_mips_arch=mips64r2
2057                         enable_mips_multilibs="yes"
2058                         ;;
2059                 mips64*-*-linux* | mipsisa64*-*-linux*)
2060                         default_mips_abi=n32
2061                         enable_mips_multilibs="yes"
2062                         ;;
2063         esac
2064         if test x$enable_targets = xall; then
2065                 enable_mips_multilibs="yes"
2066         fi
2067         if test x$enable_mips_multilibs = xyes; then
2068                 tmake_file="${tmake_file} mips/t-linux64"
2069         fi
2070         ;;
2071 mips*-mti-elf*)
2072         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2073         tmake_file="mips/t-mti-elf"
2074         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2075         ;;
2076 mips*-img-elf*)
2077         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2078         tmake_file="mips/t-img-elf"
2079         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2080         ;;
2081 mips*-sde-elf*)
2082         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2083         tmake_file="mips/t-sde"
2084         extra_options="${extra_options} mips/sde.opt"
2085         case "${with_newlib}" in
2086           yes)
2087             # newlib / libgloss.
2088             ;;
2089           *)
2090             # MIPS toolkit libraries.
2091             tm_file="$tm_file mips/sdemtk.h"
2092             tmake_file="$tmake_file mips/t-sdemtk"
2093             case ${enable_threads} in
2094               "" | yes | mipssde)
2095                 thread_file='mipssde'
2096                 ;;
2097             esac
2098             ;;
2099         esac
2100         case ${target} in
2101           mipsisa32r6*)
2102             tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2103             ;;
2104           mipsisa32r2*)
2105             tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2106             ;;
2107           mipsisa32*)
2108             tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2109             ;;
2110           mipsisa64r6*)
2111             tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2112             ;;
2113           mipsisa64r2*)
2114             tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2115             ;;
2116           mipsisa64*)
2117             tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2118             ;;
2119         esac
2120         ;;
2121 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2122 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2123 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2124 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2125 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2126 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2127         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2128         tmake_file="mips/t-isa3264"
2129         case ${target} in
2130           mipsisa32r6*)
2131             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2132             ;;
2133           mipsisa32r2*)
2134             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2135             ;;
2136           mipsisa32*)
2137             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2138             ;;
2139           mipsisa64r6*)
2140             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2141             ;;
2142           mipsisa64r2*)
2143             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2144             ;;
2145           mipsisa64*)
2146             tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2147             ;;
2148         esac
2149         case ${target} in
2150           mipsisa32*-*-elfoabi*)
2151             tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2152             tm_file="${tm_file} mips/elfoabi.h"
2153             ;;
2154           mipsisa64*-*-elfoabi*)
2155             tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2156             tm_file="${tm_file} mips/elfoabi.h"
2157             ;;
2158           *-*-elf*)
2159             tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2160             ;;
2161         esac
2162         ;;
2163 mipsisa64sr71k-*-elf*)
2164         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2165         tmake_file=mips/t-sr71k
2166         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2167         ;;
2168 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2169         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2170         tmake_file="mips/t-elf mips/t-sb1"
2171         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2172         ;;
2173 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2174         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2175         tmake_file="mips/t-elf"
2176         ;;
2177 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2178         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2179         tmake_file="mips/t-elf"
2180         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2181         ;;
2182 mips64-*-elf* | mips64el-*-elf*)
2183         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2184         tmake_file="mips/t-elf"
2185         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2186         ;;
2187 mips64vr-*-elf* | mips64vrel-*-elf*)
2188         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2189         tmake_file=mips/t-vr
2190         tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2191         ;;
2192 mips64orion-*-elf* | mips64orionel-*-elf*)
2193         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2194         tmake_file="mips/t-elf"
2195         tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2196         ;;
2197 mips*-*-rtems*)
2198         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2199         tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2200         ;;
2201 mips-wrs-vxworks)
2202         tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2203         tmake_file="${tmake_file} mips/t-vxworks"
2204         ;;
2205 mipstx39-*-elf* | mipstx39el-*-elf*)
2206         tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2207         tmake_file="mips/t-r3900"
2208         ;;
2209 mmix-knuth-mmixware)
2210         tm_file="${tm_file} newlib-stdint.h"
2211         use_gcc_stdint=wrap
2212         ;;
2213 mn10300-*-*)
2214         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2215         if test x$stabs = xyes
2216         then
2217                 tm_file="${tm_file} dbx.h"
2218         fi
2219         use_collect2=no
2220         use_gcc_stdint=wrap
2221         ;;
2222 msp430*-*-*)
2223         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2224         c_target_objs="msp430-c.o"
2225         cxx_target_objs="msp430-c.o"
2226         tmake_file="${tmake_file} msp430/t-msp430"
2227         ;;
2228 nds32le-*-*)
2229         target_cpu_default="0"
2230         tm_defines="${tm_defines}"
2231         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2232         tmake_file="nds32/t-nds32 nds32/t-mlibs"
2233         ;;
2234 nds32be-*-*)
2235         target_cpu_default="0|MASK_BIG_ENDIAN"
2236         tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2237         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2238         tmake_file="nds32/t-nds32 nds32/t-mlibs"
2239         ;;
2240 nios2-*-*)
2241         tm_file="elfos.h ${tm_file}"
2242         tmake_file="${tmake_file} nios2/t-nios2"
2243         case ${target} in
2244         nios2-*-linux*)
2245                 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2246                 ;;
2247         nios2-*-elf*)
2248                 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2249                 extra_options="${extra_options} nios2/elf.opt"
2250                 ;;
2251         nios2-*-rtems*)
2252                 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2253                 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2254                 ;;
2255         esac
2256         ;;
2257 nvptx-*)
2258         tm_file="${tm_file} newlib-stdint.h"
2259         tmake_file="nvptx/t-nvptx"
2260         if test x$enable_as_accelerator = xyes; then
2261                 extra_programs="${extra_programs} mkoffload\$(exeext)"
2262                 tm_file="${tm_file} nvptx/offload.h"
2263         fi
2264         ;;
2265 pdp11-*-*)
2266         tm_file="${tm_file} newlib-stdint.h"
2267         use_gcc_stdint=wrap
2268         ;;
2269 # port not yet contributed
2270 #powerpc-*-openbsd*)
2271 #       tmake_file="${tmake_file} rs6000/t-fprules"
2272 #       extra_headers=
2273 #       ;;
2274 powerpc-*-darwin*)
2275         extra_options="${extra_options} rs6000/darwin.opt"
2276         case ${target} in
2277           *-darwin1[0-9]* | *-darwin[8-9]*)
2278             tmake_file="${tmake_file} rs6000/t-darwin8"
2279             tm_file="${tm_file} rs6000/darwin8.h"
2280             ;;
2281           *-darwin7*)
2282             tm_file="${tm_file} rs6000/darwin7.h"
2283             ;;
2284           *-darwin[0-6]*)
2285             ;;
2286         esac
2287         tmake_file="${tmake_file} t-slibgcc"
2288         extra_headers=altivec.h
2289         ;;
2290 powerpc64-*-darwin*)
2291         extra_options="${extra_options} ${cpu_type}/darwin.opt"
2292         tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2293         tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2294         extra_headers=altivec.h
2295         ;;
2296 powerpc*-*-freebsd*)
2297         tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2298         extra_options="${extra_options} rs6000/sysv4.opt"
2299         tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2300         case ${target} in
2301              powerpc64*)
2302                 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2303                 tmake_file="${tmake_file} rs6000/t-freebsd64"
2304                 extra_options="${extra_options} rs6000/linux64.opt"
2305                 ;;
2306              *)
2307                 tm_file="${tm_file} rs6000/freebsd.h"
2308                 ;;
2309         esac
2310         ;;
2311 powerpc-*-netbsd*)
2312         tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2313         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2314         tmake_file="${tmake_file} rs6000/t-netbsd"
2315         extra_options="${extra_options} rs6000/sysv4.opt"
2316         ;;
2317 powerpc-*-eabispe*)
2318         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
2319         extra_options="${extra_options} rs6000/sysv4.opt"
2320         tmake_file="rs6000/t-spe rs6000/t-ppccomm"
2321         use_gcc_stdint=wrap
2322         ;;
2323 powerpc-*-eabisimaltivec*)
2324         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
2325         extra_options="${extra_options} rs6000/sysv4.opt"
2326         tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2327         use_gcc_stdint=wrap
2328         ;;
2329 powerpc-*-eabisim*)
2330         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2331         extra_options="${extra_options} rs6000/sysv4.opt"
2332         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2333         use_gcc_stdint=wrap
2334         ;;
2335 powerpc-*-elf*)
2336         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2337         extra_options="${extra_options} rs6000/sysv4.opt"
2338         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2339         ;;
2340 powerpc-*-eabialtivec*)
2341         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
2342         extra_options="${extra_options} rs6000/sysv4.opt"
2343         tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2344         use_gcc_stdint=wrap
2345         ;;
2346 powerpc-xilinx-eabi*)
2347         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
2348         extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
2349         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
2350         use_gcc_stdint=wrap
2351         ;;
2352 powerpc-*-eabi*)
2353         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
2354         extra_options="${extra_options} rs6000/sysv4.opt"
2355         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2356         use_gcc_stdint=wrap
2357         ;;
2358 powerpc-*-rtems*)
2359         tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
2360         extra_options="${extra_options} rs6000/sysv4.opt"
2361         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2362         ;;
2363 powerpc*-*-linux*)
2364         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2365         extra_options="${extra_options} rs6000/sysv4.opt"
2366         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2367         extra_objs="$extra_objs rs6000-linux.o"
2368         case ${target} in
2369             powerpc*le-*-*)
2370                 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2371         esac
2372         case ${target}:${with_cpu} in
2373             powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2374         esac
2375         maybe_biarch=${cpu_is_64bit}
2376         case ${enable_targets} in
2377             *powerpc64*) maybe_biarch=yes ;;
2378             all) maybe_biarch=yes ;;
2379         esac
2380         case ${target} in
2381             powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
2382                 echo "*** Configuration ${target} not supported" 1>&2
2383                 exit 1
2384                 ;;
2385             powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
2386                 maybe_biarch=
2387                 ;;
2388         esac
2389         case ${target}:${enable_targets}:${maybe_biarch} in
2390             powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2391             | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2392             | powerpcle-*:*powerpc64le*:yes)
2393                 if test x$cpu_is_64bit = xyes; then
2394                     tm_file="${tm_file} rs6000/default64.h"
2395                 fi
2396                 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2397                 tmake_file="$tmake_file rs6000/t-linux64"
2398                 case ${target} in
2399                     powerpc*le-*-*)
2400                         tmake_file="$tmake_file rs6000/t-linux64le"
2401                         case ${enable_targets} in
2402                             all | *powerpc64-* | *powerpc-*)
2403                                 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2404                         esac ;;
2405                     *)
2406                         case ${enable_targets} in
2407                             all | *powerpc64le-* | *powerpcle-*)
2408                                 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2409                         esac ;;
2410                 esac
2411                 extra_options="${extra_options} rs6000/linux64.opt"
2412                 ;;
2413             powerpc64*)
2414                 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2415                 extra_options="${extra_options} rs6000/linux64.opt"
2416                 tmake_file="${tmake_file} rs6000/t-linux"
2417                 ;;
2418             *)
2419                 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2420                 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2421                 ;;
2422         esac
2423         case ${target} in
2424             powerpc*-*-linux*ppc476*)
2425                 tm_file="${tm_file} rs6000/476.h"
2426                 extra_options="${extra_options} rs6000/476.opt" ;;
2427             powerpc*-*-linux*altivec*)
2428                 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2429             powerpc*-*-linux*spe*)
2430                 tm_file="${tm_file} rs6000/linuxspe.h rs6000/e500.h" ;;
2431             powerpc*-*-linux*paired*)
2432                 tm_file="${tm_file} rs6000/750cl.h" ;;
2433         esac
2434         if test x${enable_secureplt} = xyes; then
2435                 tm_file="rs6000/secureplt.h ${tm_file}"
2436         fi
2437         ;;
2438 powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
2439         tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2440         tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2441         extra_options="${extra_options} rs6000/sysv4.opt"
2442         extra_headers=ppc-asm.h
2443         case ${target} in
2444           *-vxworksmils*)
2445             tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
2446             tmake_file="${tmake_file} rs6000/t-vxworksmils"
2447             ;;
2448           *-vxworksae*)
2449             tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
2450             tmake_file="${tmake_file} rs6000/t-vxworksae"
2451             ;;
2452           *-vxworks*)
2453             tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
2454             ;;
2455         esac
2456         ;;
2457 powerpc-*-lynxos*)
2458         xm_defines=POSIX
2459         tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2460         tmake_file="t-lynx rs6000/t-lynx"
2461         extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2462         thread_file=lynx
2463         gnu_ld=yes
2464         gas=yes
2465         ;;
2466 powerpcle-*-elf*)
2467         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2468         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2469         extra_options="${extra_options} rs6000/sysv4.opt"
2470         ;;
2471 powerpcle-*-eabisim*)
2472         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
2473         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2474         extra_options="${extra_options} rs6000/sysv4.opt"
2475         use_gcc_stdint=wrap
2476         ;;
2477 powerpcle-*-eabi*)
2478         tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
2479         tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2480         extra_options="${extra_options} rs6000/sysv4.opt"
2481         use_gcc_stdint=wrap
2482         ;;
2483 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
2484         tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
2485         tmake_file="rs6000/t-aix43 t-slibgcc"
2486         extra_options="${extra_options} rs6000/aix64.opt"
2487         use_collect2=yes
2488         thread_file='aix'
2489         use_gcc_stdint=provide
2490         extra_headers=
2491         ;;
2492 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
2493         tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
2494         extra_options="${extra_options} rs6000/aix64.opt"
2495         tmake_file="rs6000/t-aix43 t-slibgcc"
2496         use_collect2=yes
2497         thread_file='aix'
2498         use_gcc_stdint=wrap
2499         extra_headers=
2500         ;;
2501 rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
2502         tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
2503         tmake_file="rs6000/t-aix52 t-slibgcc"
2504         extra_options="${extra_options} rs6000/aix64.opt"
2505         use_collect2=yes
2506         thread_file='aix'
2507         use_gcc_stdint=wrap
2508         extra_headers=
2509         ;;
2510 rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
2511         tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
2512         tmake_file="rs6000/t-aix52 t-slibgcc"
2513         extra_options="${extra_options} rs6000/aix64.opt"
2514         use_collect2=yes
2515         thread_file='aix'
2516         use_gcc_stdint=wrap
2517         extra_headers=altivec.h
2518         ;;
2519 rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
2520         tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2521         tmake_file="rs6000/t-aix52 t-slibgcc"
2522         extra_options="${extra_options} rs6000/aix64.opt"
2523         use_collect2=yes
2524         thread_file='aix'
2525         use_gcc_stdint=wrap
2526         extra_headers=altivec.h
2527         ;;
2528 rl78-*-elf*)
2529         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2530         target_has_targetm_common=no
2531         c_target_objs="rl78-c.o"
2532         cxx_target_objs="rl78-c.o"
2533         tmake_file="${tmake_file} rl78/t-rl78"
2534         ;;
2535 rx-*-elf*)
2536         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2537         tmake_file="${tmake_file} rx/t-rx"
2538         ;;
2539 s390-*-linux*)
2540         default_gnu_indirect_function=yes
2541         tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2542         c_target_objs="${c_target_objs} s390-c.o"
2543         cxx_target_objs="${cxx_target_objs} s390-c.o"
2544         if test x$enable_targets = xall; then
2545                 tmake_file="${tmake_file} s390/t-linux64"
2546         fi
2547         tmake_file="${tmake_file} s390/t-s390"
2548         ;;
2549 s390x-*-linux*)
2550         default_gnu_indirect_function=yes
2551         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2552         tm_p_file="linux-protos.h s390/s390-protos.h"
2553         c_target_objs="${c_target_objs} s390-c.o"
2554         cxx_target_objs="${cxx_target_objs} s390-c.o"
2555         md_file=s390/s390.md
2556         extra_modes=s390/s390-modes.def
2557         out_file=s390/s390.c
2558         tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2559         ;;
2560 s390x-ibm-tpf*)
2561         tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2562         tm_p_file=s390/s390-protos.h
2563         c_target_objs="${c_target_objs} s390-c.o"
2564         cxx_target_objs="${cxx_target_objs} s390-c.o"
2565         md_file=s390/s390.md
2566         extra_modes=s390/s390-modes.def
2567         out_file=s390/s390.c
2568         thread_file='tpf'
2569         extra_options="${extra_options} s390/tpf.opt"
2570         tmake_file="${tmake_file} s390/t-s390"
2571         ;;
2572 sh-*-elf* | sh[12346l]*-*-elf* | \
2573   sh-*-linux* | sh[2346lbe]*-*-linux* | \
2574   sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
2575   sh64-*-netbsd* | sh64l*-*-netbsd*)
2576         tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2577         if test x${with_endian} = x; then
2578                 case ${target} in
2579                 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2580                 shbe-*-* | sheb-*-*)               with_endian=big,little ;;
2581                 sh[1234]l* | sh[34]*-*-linux*)     with_endian=little ;;
2582                 shl* | sh64l* | sh*-*-linux* | \
2583                   sh5l* | sh-superh-elf)           with_endian=little,big ;;
2584                 sh[1234]*-*-*)                     with_endian=big ;;
2585                 *)                                 with_endian=big,little ;;
2586                 esac
2587         fi
2588         # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2589         #  First word : the default endian.
2590         #  Second word: the secondary endian (optional).
2591         case ${with_endian} in
2592         big)            TM_ENDIAN_CONFIG=mb ;;
2593         little)         TM_ENDIAN_CONFIG=ml ;;
2594         big,little)     TM_ENDIAN_CONFIG="mb ml" ;;
2595         little,big)     TM_ENDIAN_CONFIG="ml mb" ;;
2596         *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
2597         esac
2598         case ${with_endian} in
2599         little*)        tm_file="sh/little.h ${tm_file}" ;;
2600         esac
2601         tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2602         case ${target} in
2603         sh*-*-linux*)   tmake_file="${tmake_file} sh/t-linux"
2604                         tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2605         sh*-*-netbsd*)
2606                         tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h"
2607                         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2609                         ;;
2610         sh*-superh-elf) if test x$with_libgloss != xno; then
2611                                 with_libgloss=yes
2612                                 tm_file="${tm_file} sh/newlib.h"
2613                         fi
2614                         tm_file="${tm_file} sh/embed-elf.h"
2615                         tm_file="${tm_file} sh/superh.h"
2616                         extra_options="${extra_options} sh/superh.opt" ;;
2617         *)              if test x$with_newlib = xyes \
2618                            && test x$with_libgloss = xyes; then
2619                                 tm_file="${tm_file} sh/newlib.h"
2620                         fi
2621                         tm_file="${tm_file} sh/embed-elf.h" ;;
2622         esac
2623         case ${target} in
2624         sh5*-*-netbsd*)
2625                 # SHmedia, 32-bit ABI
2626                 tmake_file="${tmake_file} sh/t-sh64"
2627                 ;;
2628         sh64*-netbsd*)
2629                 # SHmedia, 64-bit ABI
2630                 tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
2631                 ;;
2632         *-*-netbsd)
2633                 ;;
2634         sh64*-*-linux*)
2635                 tmake_file="${tmake_file} sh/t-sh64"
2636                 tm_file="${tm_file} sh/sh64.h"
2637                 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2638                 ;;
2639         sh64*)
2640                 tmake_file="${tmake_file} sh/t-sh64"
2641                 tm_file="${tm_file} sh/sh64.h"
2642                 if test x$with_newlib = xyes; then
2643                         tm_file="${tm_file} newlib-stdint.h"
2644                 fi
2645                 extra_headers="shmedia.h ushmedia.h sshmedia.h"
2646                 ;;
2647         *-*-elf*)
2648                 tm_file="${tm_file} newlib-stdint.h"
2649                 ;;
2650         esac
2651         # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2652         case `echo ${target} | sed 's/e[lb]-/-/'` in
2653         sh64*-*-netbsd*)        sh_cpu_target=sh5-64media ;;
2654         sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
2655         sh4a_single_only*)      sh_cpu_target=sh4a-single-only ;;
2656         sh4a_single*)           sh_cpu_target=sh4a-single ;;
2657         sh4a_nofpu*)            sh_cpu_target=sh4a-nofpu ;;
2658         sh4al)                  sh_cpu_target=sh4al ;;
2659         sh4a*)                  sh_cpu_target=sh4a ;;
2660         sh4_single_only*)       sh_cpu_target=sh4-single-only ;;
2661         sh4_single*)            sh_cpu_target=sh4-single ;;
2662         sh4_nofpu*)             sh_cpu_target=sh4-nofpu ;;
2663         sh4* | sh-superh-*)     sh_cpu_target=sh4 ;;
2664         sh3e*)                  sh_cpu_target=sh3e ;;
2665         sh*-*-netbsd* | sh3*)   sh_cpu_target=sh3 ;;
2666         sh2a_single_only*)      sh_cpu_target=sh2a-single-only ;;
2667         sh2a_single*)           sh_cpu_target=sh2a-single ;;
2668         sh2a_nofpu*)            sh_cpu_target=sh2a-nofpu ;;
2669         sh2a*)                  sh_cpu_target=sh2a ;;
2670         sh2e*)                  sh_cpu_target=sh2e ;;
2671         sh2*)                   sh_cpu_target=sh2 ;;
2672         *)                      sh_cpu_target=sh1 ;;
2673         esac
2674         # did the user say --without-fp ?
2675         if test x$with_fp = xno; then
2676                 case ${sh_cpu_target} in
2677                 sh5-*media)     sh_cpu_target=${sh_cpu_target}-nofpu ;;
2678                 sh4al | sh1)    ;;
2679                 sh4a* )         sh_cpu_target=sh4a-nofpu ;;
2680                 sh4*)           sh_cpu_target=sh4-nofpu ;;
2681                 sh3*)           sh_cpu_target=sh3 ;;
2682                 sh2a*)          sh_cpu_target=sh2a-nofpu ;;
2683                 sh2*)           sh_cpu_target=sh2 ;;
2684                 *)      echo --without-fp not available for $target: ignored
2685                 esac
2686                 tm_defines="$tm_defines STRICT_NOFPU=1"
2687         fi
2688         sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2689         case $sh_cpu_default in
2690         sh5-64media-nofpu | sh5-64media | \
2691           sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
2692           sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2693           sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2694           sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2695           sh3e | sh3 | sh2e | sh2 | sh1) ;;
2696         "")     sh_cpu_default=${sh_cpu_target} ;;
2697         *)      echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2698         esac
2699         sh_multilibs=${with_multilib_list}
2700         if test "$sh_multilibs" = "default" ; then
2701                 case ${target} in
2702                 sh64-superh-linux* | \
2703                 sh[1234]*)      sh_multilibs=${sh_cpu_target} ;;
2704                 sh64* | sh5*)   sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
2705                 sh-superh-*)    sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2706                 sh*-*-linux*)   sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2707                 sh*-*-netbsd*)  sh_multilibs=m3,m3e,m4 ;;
2708                 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2709                 esac
2710                 if test x$with_fp = xno; then
2711                         sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
2712                 fi
2713         fi
2714         target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2715         tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2716         tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2717         sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2718         for sh_multilib in ${sh_multilibs}; do
2719                 case ${sh_multilib} in
2720                 m1 | m2 | m2e | m3 | m3e | \
2721                 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2722                 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2723                 m2a | m2a-single | m2a-single-only | m2a-nofpu | \
2724                 m5-64media | m5-64media-nofpu | \
2725                 m5-32media | m5-32media-nofpu | \
2726                 m5-compact | m5-compact-nofpu)
2727                         # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2728                         # It is passed to MULTIILIB_OPTIONS verbatim.
2729                         TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2730                         tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2731                         ;;
2732                 \!*)    # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2733                         # It is passed the MULTILIB_EXCEPTIONS verbatim.
2734                         TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2735                 *)
2736                         echo "with_multilib_list=${sh_multilib} not supported."
2737                         exit 1
2738                         ;;
2739                 esac
2740         done
2741         TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2742         if test x${enable_incomplete_targets} = xyes ; then
2743                 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
2744         fi
2745         tm_file="$tm_file ./sysroot-suffix.h"
2746         tmake_file="$tmake_file t-sysroot-suffix"
2747         ;;
2748 sh-*-rtems*)
2749         tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2750         tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2751         ;;
2752 sh-wrs-vxworks)
2753         tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2754         tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2755         ;;
2756 sparc-*-elf*)
2757         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2758         case ${target} in
2759             *-leon-*)
2760                 tmake_file="sparc/t-sparc sparc/t-leon"
2761                 ;;
2762             *-leon[3-9]*)
2763                 tmake_file="sparc/t-sparc sparc/t-leon3"
2764                 ;;
2765             *)
2766                 tmake_file="sparc/t-sparc sparc/t-elf"
2767                 ;;
2768         esac
2769         ;;
2770 sparc-*-rtems*)
2771         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2772         tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2773         ;;
2774 sparc-*-linux*)
2775         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2776         extra_options="${extra_options} sparc/long-double-switch.opt"
2777         case ${target} in
2778             *-leon-*)
2779                 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2780                 ;;
2781             *-leon[3-9]*)
2782                 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2783                 ;;
2784             *)
2785                 tmake_file="${tmake_file} sparc/t-sparc"
2786                 ;;
2787         esac
2788         if test x$enable_targets = xall; then
2789                 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2790                 tmake_file="${tmake_file} sparc/t-linux64"
2791         else
2792                 tm_file="${tm_file} sparc/linux.h"
2793                 tmake_file="${tmake_file} sparc/t-linux"
2794         fi
2795         ;;
2796 sparc-*-netbsdelf*)
2797         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2798         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2799         extra_options="${extra_options} sparc/long-double-switch.opt"
2800         tmake_file="${tmake_file} sparc/t-sparc"
2801         ;;
2802 sparc*-*-solaris2*)
2803         tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2804         case ${target} in
2805             sparc64-*-* | sparcv9-*-*)
2806                 tm_file="sparc/default-64.h ${tm_file}"
2807                 ;;
2808             *)
2809                 test x$with_cpu != x || with_cpu=v9
2810                 ;;
2811         esac
2812         tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2813         ;;
2814 sparc-wrs-vxworks)
2815         tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2816         tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2817         ;;
2818 sparc64-*-elf*)
2819         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2820         extra_options="${extra_options}"
2821         tmake_file="${tmake_file} sparc/t-sparc"
2822         ;;
2823 sparc64-*-rtems*)
2824         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2825         extra_options="${extra_options}"
2826         tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2827         ;;
2828 sparc64-*-linux*)
2829         tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
2830         extra_options="${extra_options} sparc/long-double-switch.opt"
2831         tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2832         ;;
2833 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2834         tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2835         extra_options="${extra_options} sparc/long-double-switch.opt"
2836         case "x$with_cpu" in
2837                 xultrasparc) ;;
2838                 x) with_cpu=ultrasparc ;;
2839                 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2840         esac
2841         tmake_file="${tmake_file} sparc/t-sparc"
2842         ;;
2843 sparc64-*-netbsd*)
2844         tm_file="sparc/biarch64.h ${tm_file}"
2845         tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
2846         extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2847         extra_options="${extra_options} sparc/long-double-switch.opt"
2848         tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2849         ;;
2850 sparc64-*-openbsd*)
2851         tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2852         tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2853         extra_options="${extra_options} openbsd.opt"
2854         extra_options="${extra_options}"
2855         gas=yes gnu_ld=yes
2856         with_cpu=ultrasparc
2857         tmake_file="${tmake_file} sparc/t-sparc"
2858         ;;
2859 spu-*-elf*)
2860         tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2861         tmake_file="spu/t-spu-elf"
2862         native_system_header_dir=/include
2863         extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2864         extra_modes=spu/spu-modes.def
2865         c_target_objs="${c_target_objs} spu-c.o"
2866         cxx_target_objs="${cxx_target_objs} spu-c.o"
2867         ;;
2868 tic6x-*-elf)
2869         tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2870         tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2871         tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2872         use_collect2=no
2873         ;;
2874 tic6x-*-uclinux)
2875         tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2876         tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2877         tm_file="${tm_file} ./sysroot-suffix.h"
2878         tmake_file="t-sysroot-suffix t-slibgcc"
2879         tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2880         use_collect2=no
2881         ;;
2882 tilegx*-*-linux*)
2883         tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2884         tmake_file="${tmake_file} tilegx/t-tilegx"
2885         extra_objs="${extra_objs} mul-tables.o"
2886         c_target_objs="${c_target_objs} tilegx-c.o"
2887         cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2888         extra_headers="feedback.h"
2889         case $target in
2890         tilegxbe-*)
2891                 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2892                 ;;
2893         esac
2894         ;;
2895 tilepro*-*-linux*)
2896         tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
2897         tmake_file="${tmake_file} tilepro/t-tilepro"
2898         extra_objs="${extra_objs} mul-tables.o"
2899         c_target_objs="${c_target_objs} tilepro-c.o"
2900         cxx_target_objs="${cxx_target_objs} tilepro-c.o"
2901         extra_headers="feedback.h"
2902         ;;
2903 v850-*-rtems*)
2904         target_cpu_default="TARGET_CPU_generic"
2905         tm_file="dbxelf.h elfos.h v850/v850.h"
2906         tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
2907         tmake_file="${tmake_file} v850/t-v850"
2908         tmake_file="${tmake_file} v850/t-rtems"
2909         use_collect2=no
2910         c_target_objs="v850-c.o"
2911         cxx_target_objs="v850-c.o"
2912         ;;
2913 v850*-*-*)
2914         case ${target} in
2915         v850e3v5-*-*)
2916                 target_cpu_default="TARGET_CPU_v850e3v5"
2917                 ;;
2918         v850e2v3-*-*)
2919                 target_cpu_default="TARGET_CPU_v850e2v3"
2920                 ;;
2921         v850e2-*-*)
2922                 target_cpu_default="TARGET_CPU_v850e2"
2923                 ;;
2924         v850e1-*-* | v850es-*-*)
2925                 target_cpu_default="TARGET_CPU_v850e1"
2926                 ;;
2927         v850e-*-*)
2928                 target_cpu_default="TARGET_CPU_v850e"
2929                 ;;
2930         v850-*-*)
2931                 target_cpu_default="TARGET_CPU_generic"
2932                 ;;
2933         esac
2934         tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
2935         if test x$stabs = xyes
2936         then
2937                 tm_file="${tm_file} dbx.h"
2938         fi
2939         use_collect2=no
2940         c_target_objs="v850-c.o"
2941         cxx_target_objs="v850-c.o"
2942         use_gcc_stdint=wrap
2943         ;;
2944 vax-*-linux*)
2945         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
2946         extra_options="${extra_options} vax/elf.opt"
2947         ;;
2948 vax-*-netbsdelf*)
2949         tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
2950         extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
2951         ;;
2952 vax-*-openbsd*)
2953         tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
2954         extra_options="${extra_options} openbsd.opt"
2955         use_collect2=yes
2956         ;;
2957 visium-*-elf*)
2958         tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
2959         tmake_file="visium/t-visium visium/t-crtstuff"
2960         ;;
2961 xstormy16-*-elf)
2962         # For historical reasons, the target files omit the 'x'.
2963         tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
2964         tm_p_file=stormy16/stormy16-protos.h
2965         md_file=stormy16/stormy16.md
2966         out_file=stormy16/stormy16.c
2967         extra_options=stormy16/stormy16.opt
2968         tmake_file="stormy16/t-stormy16"
2969         ;;
2970 xtensa*-*-elf*)
2971         tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
2972         extra_options="${extra_options} xtensa/elf.opt"
2973         ;;
2974 xtensa*-*-linux*)
2975         tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
2976         tmake_file="${tmake_file} xtensa/t-xtensa"
2977         ;;
2978 am33_2.0-*-linux*)
2979         tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
2980         gas=yes gnu_ld=yes
2981         use_collect2=no
2982         ;;
2983 m32c-*-rtems*)
2984         tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
2985         c_target_objs="m32c-pragma.o"
2986         cxx_target_objs="m32c-pragma.o"
2987         ;;
2988 m32c-*-elf*)
2989         tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2990         c_target_objs="m32c-pragma.o"
2991         cxx_target_objs="m32c-pragma.o"
2992         ;;
2994         echo "*** Configuration ${target} not supported" 1>&2
2995         exit 1
2996         ;;
2997 esac
2999 case ${target} in
3000 i[34567]86-*-linux* | x86_64-*-linux*)
3001         tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
3002         ;;
3003 i[34567]86-*-* | x86_64-*-*)
3004         tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3005         ;;
3006 powerpc*-*-* | rs6000-*-*)
3007         tm_file="${tm_file} rs6000/option-defaults.h"
3008 esac
3010 # Build mkoffload tool
3011 case ${target} in
3012 *-intelmic-* | *-intelmicemul-*)
3013         tmake_file="${tmake_file} i386/t-intelmic"
3014         tm_file="${tm_file} i386/intelmic-offload.h"
3015         ;;
3016 esac
3018 if [ "$target_has_targetcm" = "no" ]; then
3019   c_target_objs="$c_target_objs default-c.o"
3020   cxx_target_objs="$cxx_target_objs default-c.o"
3023 if [ "$common_out_file" = "" ]; then
3024   if [ "$target_has_targetm_common" = "yes" ]; then
3025     common_out_file="$cpu_type/$cpu_type-common.c"
3026   else
3027     common_out_file="default-common.c"
3028   fi
3031 # Support for --with-cpu and related options (and a few unrelated options,
3032 # too).
3033 case ${with_cpu} in
3034   yes | no)
3035     echo "--with-cpu must be passed a value" 1>&2
3036     exit 1
3037     ;;
3038 esac
3040 # Set arch and cpu from ${target} and ${target_noncanonical}.  Set cpu
3041 # to generic if there is no processor scheduler model for the target.
3042 arch=
3043 cpu=
3044 arch_without_sse2=no
3045 arch_without_64bit=no
3046 case ${target} in
3047   i386-*-freebsd*)
3048     if test $fbsd_major -ge 6; then
3049       arch=i486
3050     else
3051       arch=i386
3052     fi
3053     cpu=generic
3054     arch_without_sse2=yes
3055     arch_without_64bit=yes
3056     ;;
3057   i386-*-*)
3058     arch=i386
3059     cpu=i386
3060     arch_without_sse2=yes
3061     arch_without_64bit=yes
3062     ;;
3063   i486-*-*)
3064     arch=i486
3065     cpu=i486
3066     arch_without_sse2=yes
3067     arch_without_64bit=yes
3068     ;;
3069   i586-*-*)
3070     arch_without_sse2=yes
3071     arch_without_64bit=yes
3072     case ${target_noncanonical} in
3073       k6_2-*)
3074         arch=k6-2
3075         cpu=k6-2
3076         ;;
3077       k6_3-*)
3078         arch=k6-3
3079         cpu=k6-3
3080         ;;
3081       k6-*)
3082         arch=k6
3083         cpu=k6
3084         ;;
3085       pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3086         arch=pentium-mmx
3087         cpu=pentium-mmx
3088         ;;
3089       *)
3090         arch=pentium
3091         cpu=pentium
3092         ;;
3093     esac
3094     ;;
3095   i686-*-* | i786-*-*)
3096     case ${target_noncanonical} in
3097       bdver4-*)
3098         arch=bdver4
3099         cpu=bdver4
3100         ;;
3101       bdver3-*)
3102         arch=bdver3
3103         cpu=bdver3
3104         ;;
3105       bdver2-*)
3106         arch=bdver2
3107         cpu=bdver2
3108         ;;
3109       bdver1-*)
3110         arch=bdver1
3111         cpu=bdver1
3112         ;;
3113       btver1-*)
3114         arch=btver1
3115         cpu=btver1
3116         ;;
3117       btver2-*)
3118         arch=btver2
3119         cpu=btver2
3120         ;;
3121       amdfam10-*|barcelona-*)
3122         arch=amdfam10
3123         cpu=amdfam10
3124         ;;
3125       k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3126         arch=k8-sse3
3127         cpu=k8-sse3
3128         ;;
3129       k8-*|opteron-*|athlon64-*|athlon_fx-*)
3130         arch=k8
3131         cpu=k8
3132         ;;
3133       athlon_xp-*|athlon_mp-*|athlon_4-*)
3134         arch=athlon-4
3135         cpu=athlon-4
3136         arch_without_sse2=yes
3137         arch_without_64bit=yes
3138         ;;
3139       athlon_tbird-*|athlon-*)
3140         arch=athlon
3141         cpu=athlon
3142         arch_without_sse2=yes
3143         ;;
3144       geode-*)
3145         arch=geode
3146         cpu=geode
3147         arch_without_sse2=yes
3148         ;;
3149       pentium2-*)
3150         arch=pentium2
3151         cpu=pentium2
3152         arch_without_sse2=yes
3153         ;;
3154       pentium3-*|pentium3m-*)
3155         arch=pentium3
3156         cpu=pentium3
3157         arch_without_sse2=yes
3158         ;;
3159       pentium4-*|pentium4m-*)
3160         arch=pentium4
3161         cpu=pentium4
3162         ;;
3163       prescott-*)
3164         arch=prescott
3165         cpu=prescott
3166         ;;
3167       nocona-*)
3168         arch=nocona
3169         cpu=nocona
3170         ;;
3171       atom-*)
3172         arch=atom
3173         cpu=atom
3174         ;;
3175       slm-*)
3176         arch=slm
3177         cpu=slm
3178         ;;
3179       core2-*)
3180         arch=core2
3181         cpu=core2
3182         ;;
3183       corei7-*)
3184         arch=corei7
3185         cpu=corei7
3186         ;;
3187       corei7_avx-*)
3188         arch=corei7-avx
3189         cpu=corei7-avx
3190         ;;
3191       pentium_m-*)
3192         arch=pentium-m
3193         cpu=pentium-m
3194         ;;
3195       pentiumpro-*)
3196         arch=pentiumpro
3197         cpu=pentiumpro
3198         arch_without_sse2=yes
3199         ;;
3200       *)
3201         arch=pentiumpro
3202         cpu=generic
3203         arch_without_sse2=yes
3204         arch_without_64bit=yes
3205         ;;
3206     esac
3207     ;;
3208   x86_64-*-*)
3209     case ${target_noncanonical} in
3210       bdver4-*)
3211         arch=bdver4
3212         cpu=bdver4
3213         ;;
3214       bdver3-*)
3215         arch=bdver3
3216         cpu=bdver3
3217         ;;
3218       bdver2-*)
3219         arch=bdver2
3220         cpu=bdver2
3221         ;;
3222       bdver1-*)
3223         arch=bdver1
3224         cpu=bdver1
3225         ;;
3226       btver1-*)
3227         arch=btver1
3228         cpu=btver1
3229         ;;
3230       btver2-*)
3231         arch=btver2
3232         cpu=btver2
3233         ;;
3234       amdfam10-*|barcelona-*)
3235         arch=amdfam10
3236         cpu=amdfam10
3237         ;;
3238       k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3239         arch=k8-sse3
3240         cpu=k8-sse3
3241         ;;
3242       k8-*|opteron-*|athlon_64-*)
3243         arch=k8
3244         cpu=k8
3245         ;;
3246       nocona-*)
3247         arch=nocona
3248         cpu=nocona
3249         ;;
3250       atom-*)
3251         arch=atom
3252         cpu=atom
3253         ;;
3254       slm-*)
3255         arch=slm
3256         cpu=slm
3257         ;;
3258       core2-*)
3259         arch=core2
3260         cpu=core2
3261         ;;
3262       corei7-*)
3263         arch=corei7
3264         cpu=corei7
3265         ;;
3266       *)
3267         arch=x86-64
3268         cpu=generic
3269         ;;
3270     esac
3271     ;;
3272 esac
3274 # If there is no $with_cpu option, try to infer one from ${target}.
3275 # This block sets nothing except for with_cpu.
3276 if test x$with_cpu = x ; then
3277   case ${target} in
3278     i[34567]86-*-*|x86_64-*-*)
3279       with_cpu=$cpu
3280       ;;
3281     alphaev6[78]*-*-*)
3282       with_cpu=ev67
3283       ;;
3284     alphaev6*-*-*)
3285       with_cpu=ev6
3286       ;;
3287     alphapca56*-*-*)
3288       with_cpu=pca56
3289       ;;
3290     alphaev56*-*-*)
3291       with_cpu=ev56
3292       ;;
3293     alphaev5*-*-*)
3294       with_cpu=ev5
3295       ;;
3296     frv-*-*linux* | frv400-*-*linux*)
3297       with_cpu=fr400
3298       ;;
3299     frv550-*-*linux*)
3300       with_cpu=fr550
3301       ;;
3302     m68k*-*-*)
3303       case "$with_arch" in
3304         "cf")
3305           with_cpu=${default_cf_cpu}
3306           ;;
3307         "" | "m68k")
3308           with_cpu=m${default_m68k_cpu}
3309           ;;
3310       esac
3311       ;;
3312     powerpc*-*-*spe*)
3313       if test x$enable_e500_double = xyes; then
3314          with_cpu=8548
3315       else
3316          with_cpu=8540
3317       fi       
3318       ;;
3319     sparc*-*-*)
3320       case ${target} in
3321         *-leon-*)
3322           with_cpu=leon
3323           ;;
3324         *-leon[3-9]*)
3325           with_cpu=leon3
3326           ;;
3327         *-leon[3-9]v7*)
3328           with_cpu=leon3v7
3329           ;;
3330         *)
3331           with_cpu="`echo ${target} | sed 's/-.*$//'`"
3332           ;;
3333       esac
3334       ;;
3335   esac
3337   # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3338   case ${target} in
3339     i[34567]86-*-*|x86_64-*-*)
3340       if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3341         if test x$with_cpu_32 = x; then
3342           with_cpu_32=$with_cpu
3343         fi
3344         if test x$with_cpu_64 = x; then
3345           with_cpu_64=$with_cpu
3346         fi
3347         with_cpu=
3348       fi
3349       ;;
3350   esac
3353 # Support for --with-arch and related options (and a few unrelated options,
3354 # too).
3355 case ${with_arch} in
3356   yes | no)
3357     echo "--with-arch must be passed a value" 1>&2
3358     exit 1
3359     ;;
3360 esac
3362 # If there is no $with_arch option, try to infer one from ${target}.
3363 # This block sets nothing except for with_arch.
3364 if test x$with_arch = x ; then
3365   case ${target} in
3366     i[34567]86-*-darwin*|x86_64-*-darwin*)
3367       # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3368       # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3369       ;;
3370     i[34567]86-*-*)
3371       # --with-fpmath sets the default ISA to SSE2, which is the same
3372       # ISA supported by Pentium 4.
3373       if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3374         with_arch=$arch
3375       else
3376         with_arch=pentium4
3377       fi
3378       ;;
3379     x86_64-*-*)
3380       with_arch=$arch
3381       ;;
3382     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3383       with_arch=r5900
3384       ;;
3385     mips*-*-vxworks)
3386       with_arch=mips2
3387       ;;
3388   esac
3390   # Avoid overriding --with-arch-32 and --with-arch-64 values.
3391   case ${target} in
3392     i[34567]86-*-darwin*|x86_64-*-darwin*)
3393       # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3394       # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3395       ;;
3396     i[34567]86-*-*|x86_64-*-*)
3397       if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3398         if test x$with_arch_32 = x; then
3399           with_arch_32=$with_arch
3400         fi
3401         if test x$with_arch_64 = x; then
3402           if test $arch_without_64bit = yes; then
3403             # Set the default 64bit arch to x86-64 if the default arch
3404             # doesn't support 64bit.
3405             with_arch_64=x86-64
3406           else
3407             with_arch_64=$with_arch
3408           fi
3409         fi
3410         with_arch=
3411       elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3412         # Set the default 64bit arch to x86-64 if the default arch
3413         # doesn't support 64bit and we need 64bit ISA.
3414         with_arch_32=$with_arch
3415         with_arch_64=x86-64
3416         with_arch=
3417       fi
3418       ;;
3419   esac
3422 # Infer a default setting for --with-float.
3423 if test x$with_float = x; then
3424   case ${target} in
3425     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3426       # The R5900 doesn't support 64-bit float.  32-bit float doesn't
3427       # comply with IEEE 754.
3428       with_float=soft
3429       ;;
3430   esac
3433 # Infer a default setting for --with-fpu.
3434 if test x$with_fpu = x; then
3435   case ${target} in
3436     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3437       # The R5900 FPU only supports single precision.
3438       with_fpu=single
3439       ;;
3440   esac
3443 # Support --with-fpmath.
3444 if test x$with_fpmath != x; then
3445   case ${target} in
3446     i[34567]86-*-* | x86_64-*-*)
3447       case ${with_fpmath} in
3448       avx)
3449         tm_file="${tm_file} i386/avxmath.h"
3450         ;;
3451       sse)
3452         tm_file="${tm_file} i386/ssemath.h"
3453         ;;
3454       *)
3455         echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3456         exit 1
3457         ;;
3458       esac
3459       ;;
3460     *)
3461       echo "--with-fpmath isn't supported for $target." 1>&2
3462       exit 1
3463       ;;
3464   esac
3467 # Similarly for --with-schedule.
3468 if test x$with_schedule = x; then
3469         case ${target} in
3470         hppa1*)
3471                 # Override default PA8000 scheduling model.
3472                 with_schedule=7100LC
3473                 ;;
3474         esac
3477 # Infer a default setting for --with-llsc.
3478 if test x$with_llsc = x; then
3479   case ${target} in
3480     mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3481       # The R5900 doesn't support LL(D) and SC(D).
3482       with_llsc=no
3483       ;;
3484     mips*-*-linux*)
3485       # The kernel emulates LL and SC where necessary.
3486       with_llsc=yes
3487       ;;
3488   esac
3491 # Validate and mark as valid any --with options supported
3492 # by this target.  In order to use a particular --with option
3493 # you must list it in supported_defaults; validating the value
3494 # is optional.  This case statement should set nothing besides
3495 # supported_defaults.
3497 supported_defaults=
3498 case "${target}" in
3499         aarch64*-*-*)
3500                 supported_defaults="abi cpu arch"
3501                 for which in cpu arch; do
3503                         eval "val=\$with_$which"
3504                         base_val=`echo $val | sed -e 's/\+.*//'`
3505                         ext_val=`echo $val | sed -e 's/[a-z0-9\-]\+//'`
3507                         if [ $which = arch ]; then
3508                           def=aarch64-arches.def
3509                           pattern=AARCH64_ARCH
3510                         else
3511                           def=aarch64-cores.def
3512                           pattern=AARCH64_CORE
3513                         fi
3515                         ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3517                         # Find the base CPU or ARCH id in aarch64-cores.def or
3518                         # aarch64-arches.def
3519                         if [ x"$base_val" = x ] \
3520                             || grep "^$pattern(\"$base_val\"," \
3521                                     ${srcdir}/config/aarch64/$def \
3522                                     > /dev/null; then
3524                           if [ $which = arch ]; then
3525                                 base_id=`grep "^$pattern(\"$base_val\"," \
3526                                   ${srcdir}/config/aarch64/$def | \
3527                                   sed -e 's/^[^,]*,[    ]*//' | \
3528                                   sed -e 's/,.*$//'`
3529                                 # Extract the architecture flags from aarch64-arches.def
3530                                 ext_mask=`grep "^$pattern(\"$base_val\"," \
3531                                    ${srcdir}/config/aarch64/$def | \
3532                                    sed -e 's/)$//' | \
3533                                    sed -e 's/^.*,//'`
3534                           else
3535                                 base_id=`grep "^$pattern(\"$base_val\"," \
3536                                   ${srcdir}/config/aarch64/$def | \
3537                                   sed -e 's/^[^,]*,[    ]*//' | \
3538                                   sed -e 's/,.*$//'`
3539                           fi
3541                           while [ x"$ext_val" != x ]
3542                           do
3543                                 ext_val=`echo $ext_val | sed -e 's/\+//'`
3544                                 ext=`echo $ext_val | sed -e 's/\+.*//'`
3545                                 base_ext=`echo $ext | sed -e 's/^no//'`
3547                                 if [ x"$base_ext" = x ] \
3548                                     || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3549                                     ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3550                                     > /dev/null; then
3552                                   ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3553                                         ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3554                                         sed -e 's/^[^,]*,[      ]*//' | \
3555                                         sed -e 's/,.*$//'`
3556                                   ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3557                                         ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3558                                         sed -e 's/^[^,]*,[      ]*[^,]*,[       ]*//' | \
3559                                         sed -e 's/,.*$//' | \
3560                                         sed -e 's/).*$//'`
3562                                   if [ $ext = $base_ext ]; then
3563                                         # Adding extension
3564                                         ext_mask="("$ext_mask") | ("$ext_on")"
3565                                   else
3566                                         # Removing extension
3567                                         ext_mask="("$ext_mask") & ~("$ext_off")"
3568                                   fi
3570                                   true
3571                                 else
3572                                   echo "Unknown extension used in --with-$which=$val" 1>&2
3573                                   exit 1
3574                                 fi
3575                                 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3576                           done
3578                           ext_mask="(("$ext_mask") << 6)"
3579                           if [ x"$base_id" != x ]; then
3580                                 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3581                           fi
3582                           true
3583                         else
3584                           echo "Unknown $which used in --with-$which=$val" 1>&2
3585                           exit 1
3586                         fi
3587                 done
3588                 ;;
3590         alpha*-*-*)
3591                 supported_defaults="cpu tune"
3592                 for which in cpu tune; do
3593                         eval "val=\$with_$which"
3594                         case "$val" in
3595                         "" \
3596                         | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3597                         | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3598                         | 21264a)
3599                                 ;;
3600                         *)
3601                                 echo "Unknown CPU used in --with-$which=$val" 1>&2
3602                                 exit 1
3603                                 ;;
3604                         esac
3605                 done
3606                 ;;
3608         arc*-*-*) # was:        arc*-*-linux-uclibc)
3609                 supported_defaults="cpu"
3610                 case $with_cpu in
3611                   arc600|arc601|arc700)
3612                         ;;
3613                   *) echo "Unknown cpu type"
3614                         exit 1
3615                         ;;
3616                 esac
3617                 ;;
3619         arm*-*-*)
3620                 supported_defaults="arch cpu float tune fpu abi mode tls"
3621                 for which in cpu tune; do
3622                         # See if it matches any of the entries in arm-cores.def
3623                         eval "val=\$with_$which"
3624                         if [ x"$val" = x ] \
3625                             || grep "^ARM_CORE(\"$val\"," \
3626                                     ${srcdir}/config/arm/arm-cores.def \
3627                                     > /dev/null; then
3628                           # Ok
3629                           new_val=`grep "^ARM_CORE(\"$val\"," \
3630                                 ${srcdir}/config/arm/arm-cores.def | \
3631                                 sed -e 's/^[^,]*,[      ]*//' | \
3632                                 sed -e 's/,.*$//'`
3633                           eval "target_${which}_cname=$new_val"
3634                         echo "For $val real value is $new_val"
3635                           true
3636                         else
3637                           echo "Unknown CPU used in --with-$which=$val" 1>&2
3638                           exit 1
3639                         fi
3640                 done
3642                 # See if it matches any of the entries in arm-arches.def
3643                 if [ x"$with_arch" = x ] \
3644                     || grep "^ARM_ARCH(\"$with_arch\"," \
3645                             ${srcdir}/config/arm/arm-arches.def \
3646                             > /dev/null; then
3647                   # OK
3648                   true
3649                 else
3650                   echo "Unknown arch used in --with-arch=$with_arch" 1>&2
3651                   exit 1
3652                 fi
3654                 case "$with_float" in
3655                 "" \
3656                 | soft | hard | softfp)
3657                         # OK
3658                         ;;
3659                 *)
3660                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3661                         exit 1
3662                         ;;
3663                 esac
3665                 # see if it matches any of the entries in arm-fpus.def
3666                 if [ x"$with_fpu" = x ] \
3667                     || grep "^ARM_FPU(\"$with_fpu\"," \
3668                             ${srcdir}/config/arm/arm-fpus.def \
3669                             > /dev/null; then
3670                   # OK
3671                   true
3672                 else
3673                   echo "Unknown fpu used in --with-fpu=$with_fpu" 1>&2
3674                   exit 1
3675                 fi
3677                 case "$with_abi" in
3678                 "" \
3679                 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3680                         #OK
3681                         ;;
3682                 *)
3683                         echo "Unknown ABI used in --with-abi=$with_abi"
3684                         exit 1
3685                         ;;
3686                 esac
3688                 case "$with_mode" in
3689                 "" \
3690                 | arm | thumb )
3691                         #OK
3692                         ;;
3693                 *)
3694                         echo "Unknown mode used in --with-mode=$with_mode"
3695                         exit 1
3696                         ;;
3697                 esac
3699                 case "$with_tls" in
3700                 "" \
3701                 | gnu | gnu2)
3702                         # OK
3703                         ;;
3704                 *)
3705                         echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3706                         exit 1
3707                         ;;
3708                 esac
3710                 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3711                         echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\""  1>&2
3712                         exit 1
3713                 fi
3715                 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3716                         echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\""  1>&2
3717                         exit 1
3718                 fi
3720                 # Add extra multilibs
3721                 if test "x$with_multilib_list" != x; then
3722                         arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3723                         for arm_multilib in ${arm_multilibs}; do
3724                                 case ${arm_multilib} in
3725                                 aprofile)
3726                                 # Note that arm/t-aprofile is a
3727                                 # stand-alone make file fragment to be
3728                                 # used only with itself.  We do not
3729                                 # specifically use the
3730                                 # TM_MULTILIB_OPTION framework because
3731                                 # this shorthand is more
3732                                 # pragmatic. Additionally it is only
3733                                 # designed to work without any
3734                                 # with-cpu, with-arch with-mode
3735                                 # with-fpu or with-float options.
3736                                         if test "x$with_arch" != x \
3737                                             || test "x$with_cpu" != x \
3738                                             || test "x$with_float" != x \
3739                                             || test "x$with_fpu" != x \
3740                                             || test "x$with_mode" != x ; then
3741                                             echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
3742                                             exit 1
3743                                         fi
3744                                         tmake_file="${tmake_file} arm/t-aprofile"
3745                                         break
3746                                         ;;
3747                                 default)
3748                                         ;;
3749                                 *)
3750                                         echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3751                                         exit 1
3752                                         ;;
3753                                 esac
3754                         done
3755                 fi
3756                 ;;
3758         fr*-*-*linux*)
3759                 supported_defaults=cpu
3760                 case "$with_cpu" in
3761                 fr400) ;;
3762                 fr550) ;;
3763                 *)
3764                         echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3765                         exit 1
3766                         ;;
3767                 esac
3768                 ;;
3770         fido-*-* | m68k*-*-*)
3771                 supported_defaults="arch cpu"
3772                 case "$with_arch" in
3773                 "" | "m68k"| "cf")
3774                         m68k_arch_family="$with_arch"
3775                         ;;
3776                 *)
3777                         echo "Invalid --with-arch=$with_arch" 1>&2
3778                         exit 1
3779                         ;;
3780                 esac
3782                 # We always have a $with_cpu setting here.
3783                 case "$with_cpu" in
3784                 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3785                         m68k_cpu_ident=$with_cpu
3786                         ;;
3787                 "m68020-40")
3788                         m68k_cpu_ident=m68020
3789                         tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3790                         ;;
3791                 "m68020-60")
3792                         m68k_cpu_ident=m68020
3793                         tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3794                         ;;
3795                 *)
3796                         # We need the C identifier rather than the string.
3797                         m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3798                            'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3799                             $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3800                                  ${srcdir}/config/m68k/m68k-devices.def`
3801                         if [ x"$m68k_cpu_ident" = x ] ; then
3802                                 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3803                                 exit 1
3804                         fi
3805                         with_cpu="mcpu=$with_cpu"
3806                         ;;
3807                 esac
3808                 ;;
3810         hppa*-*-*)
3811                 supported_defaults="arch schedule"
3813                 case "$with_arch" in
3814                 "" | 1.0 | 1.1 | 2.0)
3815                         # OK
3816                         ;;
3817                 *)
3818                         echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3819                         exit 1
3820                         ;;
3821                 esac
3823                 case "$with_schedule" in
3824                 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3825                         # OK
3826                         ;;
3827                 *)
3828                         echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
3829                         exit 1
3830                         ;;
3831                 esac
3832                 ;;
3834         i[34567]86-*-* | x86_64-*-*)
3835                 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
3836                 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
3837                         eval "val=\$with_$which"
3838                         case " $x86_archs " in
3839                         *" ${val} "*)
3840                                 case "${target}" in
3841                                   x86_64-*-*)
3842                                       case "x$which" in
3843                                         *_32)
3844                                                 ;;
3845                                         *)
3846                                                 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
3847                                                 exit 1
3848                                                 ;;
3849                                       esac
3850                                       ;;
3851                                 esac
3852                                 # OK
3853                                 ;;
3854                         *)
3855                                 if test x${val} != x; then
3856                                         case " $x86_64_archs " in
3857                                         *" ${val} "*)
3858                                                 # OK
3859                                                 ;;
3860                                         *)
3861                                                 # Allow $x86_cpus --with-cpu=/--with-tune=
3862                                                 case "x$which" in
3863                                                 xcpu*|xtune*)
3864                                                         case " $x86_cpus " in
3865                                                         *" ${val} "*)
3866                                                                 # OK
3867                                                                 ;;
3868                                                         *)
3869                                                                 echo "Unknown CPU given in --with-$which=$val." 1>&2
3870                                                                 exit 1
3871                                                                 ;;
3872                                                         esac
3873                                                         ;;
3874                                                 *)
3875                                                         echo "Unknown CPU given in --with-$which=$val." 1>&2
3876                                                         exit 1
3877                                                         ;;
3878                                                 esac
3879                                         ;;
3880                                         esac
3881                                 fi
3882                                 ;;
3883                         esac
3884                 done
3885                 ;;
3887         mips*-*-*)
3888                 supported_defaults="abi arch arch_32 arch_64 float fpu nan fp_32 odd_spreg_32 tune tune_32 tune_64 divide llsc mips-plt synci"
3890                 case ${with_float} in
3891                 "" | soft | hard)
3892                         # OK
3893                         ;;
3894                 *)
3895                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3896                         exit 1
3897                         ;;
3898                 esac
3900                 case ${with_fpu} in
3901                 "" | single | double)
3902                         # OK
3903                         ;;
3904                 *)
3905                         echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
3906                         exit 1
3907                         ;;
3908                 esac
3910                 case ${with_nan} in
3911                 "" | 2008 | legacy)
3912                         # OK
3913                         ;;
3914                 *)
3915                         echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
3916                         exit 1
3917                         ;;
3918                 esac
3920                 case ${with_fp_32} in
3921                 "" | 32 | xx | 64)
3922                         # OK
3923                         ;;
3924                 *)
3925                         echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
3926                         exit 1
3927                         ;;
3928                 esac
3930                 case ${with_odd_spreg_32} in
3931                 yes)
3932                         with_odd_spreg_32="odd-spreg"
3933                         ;;
3934                 no)
3935                         with_odd_spreg_32="no-odd-spreg"
3936                         ;;
3937                 "")
3938                         # OK
3939                         ;;
3940                 *)
3941                         echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
3942                         exit 1
3943                         ;;
3944                 esac
3946                 case ${with_abi} in
3947                 "" | 32 | o64 | n32 | 64 | eabi)
3948                         # OK
3949                         ;;
3950                 *)
3951                         echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
3952                         exit 1
3953                         ;;
3954                 esac
3956                 case ${with_divide} in
3957                 "" | breaks | traps)
3958                         # OK
3959                         ;;
3960                 *)
3961                         echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
3962                         exit 1
3963                         ;;
3964                 esac
3966                 case ${with_llsc} in
3967                 yes)
3968                         with_llsc=llsc
3969                         ;;
3970                 no)
3971                         with_llsc="no-llsc"
3972                         ;;
3973                 "")
3974                         # OK
3975                         ;;
3976                 *)
3977                         echo "Unknown llsc type used in --with-llsc" 1>&2
3978                         exit 1
3979                         ;;
3980                 esac
3982                 case ${with_mips_plt} in
3983                 yes)
3984                         with_mips_plt=plt
3985                         ;;
3986                 no)
3987                         with_mips_plt=no-plt
3988                         ;;
3989                 "")
3990                         ;;
3991                 *)
3992                         echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
3993                         exit 1
3994                         ;;
3995                 esac
3997                 case ${with_synci} in
3998                 yes)
3999                         with_synci=synci
4000                         ;;
4001                 no)
4002                         with_synci=no-synci
4003                         ;;
4004                 "")
4005                         ;;
4006                 *)
4007                         echo "Unknown synci type used in --with-synci" 1>&2
4008                         exit 1
4009                         ;;
4010                 esac
4011                 ;;
4013         nds32*-*-*)
4014                 supported_defaults="arch nds32_lib"
4016                 # process --with-arch
4017                 case "${with_arch}" in
4018                 "" | v2 | v3 | v3m)
4019                         # OK
4020                         ;;
4021                 *)
4022                         echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2
4023                         exit 1
4024                         ;;
4025                 esac
4027                 # process --with-nds32-lib
4028                 case "${with_nds32_lib}" in
4029                 "")
4030                         # the default library is newlib
4031                         with_nds32_lib=newlib
4032                         ;;
4033                 newlib)
4034                         # OK
4035                         ;;
4036                 mculib)
4037                         # OK
4038                         ;;
4039                 *)
4040                         echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
4041                         exit 1
4042                         ;;
4043                 esac
4044                 ;;
4046         powerpc*-*-* | rs6000-*-*)
4047                 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4049                 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4050                         eval "val=\$with_$which"
4051                         case ${val} in
4052                         default32 | default64)
4053                                 case $which in
4054                                 cpu | tune)
4055                                         ;;
4056                                 *)
4057                                         echo "$val only valid for --with-cpu and --with-tune." 1>&2
4058                                         exit 1
4059                                         ;;
4060                                 esac
4061                                 with_which="with_$which"
4062                                 eval $with_which=
4063                                 ;;
4064                         405cr)
4065                                 tm_defines="${tm_defines} CONFIG_PPC405CR"
4066                                 eval "with_$which=405"
4067                                 ;;
4068                         "" | common | native \
4069                         | power | power[2345678] | power6x | powerpc | powerpc64 \
4070                         | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
4071                         | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4072                         | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4073                         | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4074                         | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4075                         | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4076                                 # OK
4077                                 ;;
4078                         *)
4079                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
4080                                 exit 1
4081                                 ;;
4082                         esac
4083                 done
4085                 case "$with_abi" in
4086                 "" | elfv1 | elfv2 )
4087                         #OK
4088                         ;;
4089                 *)
4090                         echo "Unknown ABI used in --with-abi=$with_abi"
4091                         exit 1
4092                         ;;
4093                 esac
4095                 if test "x$with_advance_toolchain" != x; then
4096                     if test -d "/opt/$with_advance_toolchain/." -a \
4097                         -d "/opt/$with_advance_toolchain/bin/." -a \
4098                         -d "/opt/$with_advance_toolchain/include/."; then
4100                         tm_file="$tm_file ./advance-toolchain.h"
4101                         (at="/opt/$with_advance_toolchain"
4102                          echo "/* Use Advance Toolchain $at */"
4103                          echo
4104                          echo "#ifndef USE_AT_INCLUDE_FILES"
4105                          echo "#define USE_AT_INCLUDE_FILES 1"
4106                          echo "#endif"
4107                          echo
4108                          echo "#if USE_AT_INCLUDE_FILES"
4109                          echo "#undef  INCLUDE_EXTRA_SPEC"
4110                          echo "#define INCLUDE_EXTRA_SPEC" \
4111                               "\"-isystem $at/include\""
4112                          echo "#endif"
4113                          echo
4114                          echo "#undef  LINK_OS_EXTRA_SPEC32"
4115                          echo "#define LINK_OS_EXTRA_SPEC32" \
4116                               "\"%(link_os_new_dtags)" \
4117                               "-rpath $prefix/lib -rpath $at/lib" \
4118                               "-L $prefix/lib -L $at/lib\""
4119                          echo
4120                          echo "#undef  LINK_OS_EXTRA_SPEC64"
4121                          echo "#define LINK_OS_EXTRA_SPEC64" \
4122                               "\"%(link_os_new_dtags)" \
4123                               "-rpath $prefix/lib64 -rpath $at/lib64" \
4124                               "-L $prefix/lib64 -L $at/lib64\""
4125                          echo
4126                          echo "#undef  LINK_OS_NEW_DTAGS_SPEC"
4127                          echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4128                               "\"--enable-new-dtags\""
4129                          echo
4130                          echo "#undef  DYNAMIC_LINKER_PREFIX"
4131                          echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4132                          echo
4133                          echo "#undef  MD_EXEC_PREFIX"
4134                          echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4135                          echo
4136                          echo "#undef  MD_STARTFILE_PREFIX"
4137                          echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4138                             > advance-toolchain.h
4139                     else
4140                         echo "Unknown advance-toolchain $with_advance_toolchain"
4141                         exit 1
4142                     fi
4143                 fi
4144                 ;;
4146         s390*-*-*)
4147                 supported_defaults="arch mode tune"
4149                 for which in arch tune; do
4150                         eval "val=\$with_$which"
4151                         case ${val} in
4152                         "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
4153                                 # OK
4154                                 ;;
4155                         *)
4156                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
4157                                 exit 1
4158                                 ;;
4159                         esac
4160                 done
4162                 case ${with_mode} in
4163                 "" | esa | zarch)
4164                         # OK
4165                         ;;
4166                 *)
4167                         echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4168                         exit 1
4169                         ;;
4170                 esac
4171                 ;;
4173         sh[123456ble]-*-* | sh-*-*)
4174                 supported_defaults="cpu"
4175                 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4176                 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4177                         # OK
4178                         ;;
4179                 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4180                         ;;
4181                 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4182                         ;;
4183                 *)
4184                         echo "Unknown CPU used in --with-cpu=$with_cpu, known values:"  1>&2
4185                         echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4186                         echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4187                         echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4188                         exit 1
4189                         ;;
4190                 esac
4191                 ;;
4192         sparc*-*-*)
4193                 supported_defaults="cpu float tune"
4195                 for which in cpu tune; do
4196                         eval "val=\$with_$which"
4197                         case ${val} in
4198                         "" | sparc | sparcv9 | sparc64 \
4199                         | v7 | cypress \
4200                         | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4201                         | sparclite | f930 | f934 | sparclite86x \
4202                         | sparclet | tsc701 \
4203                         | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4204                         | niagara3 | niagara4)
4205                                 # OK
4206                                 ;;
4207                         *)
4208                                 echo "Unknown cpu used in --with-$which=$val" 1>&2
4209                                 exit 1
4210                                 ;;
4211                         esac
4212                 done
4214                 case ${with_float} in
4215                 "" | soft | hard)
4216                         # OK
4217                         ;;
4218                 *)
4219                         echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4220                         exit 1
4221                         ;;
4222                 esac
4223                 ;;
4225         spu-*-*)
4226                 supported_defaults="arch tune"
4228                 for which in arch tune; do
4229                         eval "val=\$with_$which"
4230                         case ${val} in
4231                         "" | cell | celledp)
4232                                 # OK
4233                                 ;;
4234                         *)
4235                                 echo "Unknown cpu used in --with-$which=$val." 1>&2
4236                                 exit 1
4237                                 ;;
4238                         esac
4239                 done
4240                 ;;
4242         tic6x-*-*)
4243                 supported_defaults="arch"
4245                 case ${with_arch} in
4246                 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4247                         # OK
4248                         ;;
4249                 *)
4250                         echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4251                         exit 1
4252                         ;;
4253                 esac
4254                 ;;
4256         v850*-*-*)
4257                 supported_defaults=cpu
4258                 case ${with_cpu} in
4259                 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4260                         # OK
4261                         ;;
4262                 *)
4263                         echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4264                         exit 1
4265                         ;;
4266                 esac
4267                 ;;
4268 esac
4270 # Set some miscellaneous flags for particular targets.
4271 target_cpu_default2=
4272 case ${target} in
4273         aarch64*-*-*)
4274                 if test x"$target_cpu_cname" != x
4275                 then
4276                         target_cpu_default2=$target_cpu_cname
4277                 fi
4278                 ;;
4280         arm*-*-*)
4281                 if test x$target_cpu_cname = x
4282                 then
4283                         target_cpu_default2=TARGET_CPU_generic
4284                 else
4285                         target_cpu_default2=TARGET_CPU_$target_cpu_cname
4286                 fi
4287                 ;;
4289         hppa*-*-*)
4290                 if test x$gas = xyes
4291                 then
4292                         target_cpu_default2="MASK_GAS"
4293                 fi
4294                 ;;
4296         fido*-*-* | m68k*-*-*)
4297                 target_cpu_default2=$m68k_cpu_ident
4298                 tmake_file="m68k/t-opts $tmake_file"
4299                 if [ x"$m68k_arch_family" != x ]; then
4300                         tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4301                 fi
4302                 ;;
4304         i[34567]86-*-darwin* | x86_64-*-darwin*)
4305                 ;;
4306         i[34567]86-*-linux* | x86_64-*-linux*)
4307                 tmake_file="$tmake_file i386/t-linux"
4308                 ;;
4309         i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4310                 tmake_file="$tmake_file i386/t-kfreebsd"
4311                 ;;
4312         i[34567]86-*-gnu*)
4313                 tmake_file="$tmake_file i386/t-gnu"
4314                 ;;
4315         i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4316                 ;;
4317         i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4318                 ;;
4319         i[34567]86-*-mingw* | x86_64-*-mingw*)
4320                 ;;
4321         i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4322                 ;;
4323         i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4324                 ;;
4325         ia64*-*-linux*)
4326                 ;;
4328         mips*-*-*)
4329                 if test x$gnu_ld = xyes
4330                 then
4331                         target_cpu_default2="MASK_SPLIT_ADDRESSES"
4332                 fi
4333                 case ${target} in
4334                         mips*el-*-*)
4335                                 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4336                                 ;;
4337                 esac
4338                 if test x$with_arch != x; then
4339                         default_mips_arch=$with_arch
4340                 fi
4341                 if test x$with_abi != x; then
4342                         default_mips_abi=$with_abi
4343                 fi
4344                 case ${default_mips_arch} in
4345                     mips1)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4346                     mips2)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4347                     mips3)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4348                     mips4)    tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4349                     mips32)   tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4350                     mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4351                     mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4352                     mips64)   tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4353                     mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4354                     mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4355                 esac
4356                 case ${default_mips_abi} in
4357                     32)   tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4358                     o64)  tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4359                     n32)  tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4360                     64)   tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4361                     eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4362                 esac
4363                 tmake_file="mips/t-mips $tmake_file"
4364                 ;;
4366         powerpc*-*-* | rs6000-*-*)
4367                 # FIXME: The PowerPC port uses the value set at compile time,
4368                 # although it's only cosmetic.
4369                 if test "x$with_cpu" != x
4370                 then
4371                         target_cpu_default2="\\\"$with_cpu\\\""
4372                 fi
4373                 out_file=rs6000/rs6000.c
4374                 c_target_objs="${c_target_objs} rs6000-c.o"
4375                 cxx_target_objs="${cxx_target_objs} rs6000-c.o"
4376                 tmake_file="rs6000/t-rs6000 ${tmake_file}"
4377                 ;;
4379         sh[123456ble]*-*-* | sh-*-*)
4380                 c_target_objs="${c_target_objs} sh-c.o"
4381                 cxx_target_objs="${cxx_target_objs} sh-c.o"
4382                 ;;
4384         sparc*-*-*)
4385                 # Some standard aliases.
4386                 case x$with_cpu in
4387                 xsparc)
4388                         with_cpu=v7
4389                         ;;
4390                 xsparcv9 | xsparc64)
4391                         with_cpu=v9
4392                         ;;
4393                 esac
4395                 if test x$with_tune = x ; then
4396                       case ${target} in
4397                       *-leon-*)
4398                           with_tune=leon
4399                           ;;
4400                       *-leon[3-9]*)
4401                           with_tune=leon3
4402                           ;;
4403                       esac
4404                 fi
4406                 # The SPARC port checks this value at compile-time.
4407                 target_cpu_default2="TARGET_CPU_$with_cpu"
4408                 ;;
4410         v850*-*-*)
4411                 case "x$with_cpu" in
4412                 x)
4413                         ;;
4414                 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4415                         target_cpu_default2="TARGET_CPU_$with_cpu"
4416                         ;;
4417                 xv850es)
4418                         target_cpu_default2="TARGET_CPU_v850e1"
4419                         ;;
4420                 esac
4421                 ;;
4422 esac
4425 all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu nan fp_32 odd_spreg_32 divide llsc mips-plt synci tls"
4426 for option in $all_defaults
4428         eval "val=\$with_"`echo $option | sed s/-/_/g`
4429         if test -n "$val"; then
4430                 case " $supported_defaults " in
4431                 *" $option "*)
4432                         ;;
4433                 *)
4434                         echo "This target does not support --with-$option." 2>&1
4435                         echo "Valid --with options are: $supported_defaults" 2>&1
4436                         exit 1
4437                         ;;
4438                 esac
4440                 if test "x$t" = x
4441                 then
4442                         t="{ \"$option\", \"$val\" }"
4443                 else
4444                         t="${t}, { \"$option\", \"$val\" }"
4445                 fi
4446         fi
4447 done
4449 if test "x$t" = x
4450 then
4451         configure_default_options="{ { NULL, NULL} }"
4452 else
4453         configure_default_options="{ ${t} }"
4456 if test "$target_cpu_default2" != ""
4457 then
4458         if test "$target_cpu_default" != ""
4459         then
4460                 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4461         else
4462                 target_cpu_default=$target_cpu_default2
4463         fi
4466 case ${target} in
4467 i[34567]86-*-* | x86_64-*-*)
4468         if test x$enable_as_accelerator = xyes; then
4469                 extra_programs="mkoffload\$(exeext)"
4470         fi
4471         ;;
4472 esac