1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2018 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
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
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
60 # gnu_ld_flag Either yes or no depending on whether GNU ld was
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
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
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
150 # xm_file List of files to include when compiling for the
153 # use_collect2 Set to yes or no, depending on whether collect2
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
180 # .type symbol_name, ${t_t_f_c}<property>
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.
199 user_headers_inc_next_pre=
200 user_headers_inc_next_post=
210 target_has_targetcm=no
211 target_has_targetm_common=yes
214 # Set this to force installation and use of collect2.
216 # Set this to override the default target model.
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.
222 # Reinitialize these from the flag values every loop pass, since some
223 # configure entries modify them.
225 gnu_ld="$gnu_ld_flag"
226 default_use_cxa_atexit=no
227 default_gnu_indirect_function=no
230 native_system_header_dir=/usr/include
231 target_type_format_char='@'
233 # Don't carry these over build->host->target. Please.
237 # Obsolete configurations.
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
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.
255 # Avoid special cases that are not obsolete
264 | i[34567]86-go32-* \
265 | i[34567]86-*-go32* \
266 | m68k-*-uclinuxoldabi* \
267 | mips64orion*-*-rtems* \
269 | sparc-hal-solaris2* \
271 | *-*-freebsd[12] | *-*-freebsd[1234].* \
272 | *-*-freebsd*aout* \
280 | *-*-solaris2.[0-9] \
281 | *-*-solaris2.[0-9].* \
285 echo "*** Configuration ${target} not supported" 1>&2
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
294 cpu_type=`echo ${target} | sed 's/-.*$//'`
299 tmake_file=m32c/t-m32c
300 target_has_targetm_common=no
304 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
305 c_target_objs="aarch64-c.o"
306 cxx_target_objs="aarch64-c.o"
307 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o aarch64-speculation.o"
308 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
309 target_has_targetm_common=yes
313 extra_options="${extra_options} g.opt"
320 c_target_objs="arc-c.o"
321 cxx_target_objs="arc-c.o"
322 extra_options="${extra_options} arc/arc-tables.opt g.opt"
323 extra_headers="arc-simd.h"
327 extra_objs="arm-builtins.o aarch-common.o"
328 extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h arm_cmse.h"
329 target_type_format_char='%'
330 c_target_objs="arm-c.o"
331 cxx_target_objs="arm-c.o"
332 extra_options="${extra_options} arm/arm-tables.opt"
333 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
337 c_target_objs="avr-c.o"
338 cxx_target_objs="avr-c.o"
347 extra_options="${extra_options} g.opt"
350 target_has_targetm_common=no
352 moxie*) cpu_type=moxie
353 target_has_targetm_common=no
357 extra_headers=math-68881.h
358 extra_options="${extra_options} m68k/m68k-tables.opt"
362 c_target_objs="i386-c.o"
363 cxx_target_objs="i386-c.o"
364 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o"
365 extra_options="${extra_options} fused-madd.opt"
366 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
367 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
368 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
369 immintrin.h x86intrin.h avxintrin.h xopintrin.h
370 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
371 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
372 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
373 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
374 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
375 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
376 shaintrin.h clflushoptintrin.h xsavecintrin.h
377 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
378 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
379 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
380 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
381 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
382 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
383 gfniintrin.h cet.h avx512vbmi2intrin.h
384 avx512vbmi2vlintrin.h avx512vnniintrin.h
385 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
386 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
387 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
388 waitpkgintrin.h cldemoteintrin.h"
392 c_target_objs="i386-c.o"
393 cxx_target_objs="i386-c.o"
394 extra_options="${extra_options} fused-madd.opt"
395 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o"
396 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
397 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
398 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
399 immintrin.h x86intrin.h avxintrin.h xopintrin.h
400 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
401 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
402 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
403 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
404 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
405 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
406 shaintrin.h clflushoptintrin.h xsavecintrin.h
407 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
408 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
409 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
410 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
411 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
412 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
413 gfniintrin.h cet.h avx512vbmi2intrin.h
414 avx512vbmi2vlintrin.h avx512vnniintrin.h
415 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
416 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
417 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
418 waitpkgintrin.h cldemoteintrin.h"
421 extra_headers=ia64intrin.h
422 extra_options="${extra_options} g.opt fused-madd.opt"
428 extra_options="${extra_options} g.opt"
432 extra_options="${extra_options} g.opt"
435 extra_headers=math-68881.h
436 extra_options="${extra_options} m68k/m68k-tables.opt"
440 extra_options="${extra_options} g.opt"
444 extra_headers="loongson.h msa.h"
445 extra_objs="frame-header-opt.o"
446 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
450 extra_headers="nds32_intrinsic.h nds32_isr.h nds32_init.inc"
453 extra_options="${extra_options} nds32/nds32-linux.opt"
456 extra_options="${extra_options} nds32/nds32-elf.opt"
461 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 nds32-relax-opt.o nds32-utils.o"
465 extra_options="${extra_options} g.opt"
472 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"
474 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
478 extra_options="${extra_options} g.opt fused-madd.opt powerpcspe/powerpcspe-tables.opt"
482 extra_objs="rs6000-string.o rs6000-p8swap.o"
483 extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h"
484 extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h"
485 extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h"
486 extra_headers="${extra_headers} mmintrin.h x86intrin.h"
487 extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h"
488 extra_headers="${extra_headers} amo.h"
490 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
494 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
498 extra_objs="riscv-builtins.o riscv-c.o"
501 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
502 extra_objs="rs6000-string.o rs6000-p8swap.o"
506 c_target_objs="sparc-c.o"
507 cxx_target_objs="sparc-c.o"
508 extra_headers="visintrin.h"
515 extra_options="${extra_options} fused-madd.opt"
516 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
518 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
519 sh[123456789lbe]*-*-* | sh-*-*)
521 extra_options="${extra_options} fused-madd.opt"
522 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
529 extra_headers="c6x_intrinsics.h"
530 extra_options="${extra_options} c6x/c6x-tables.opt"
533 extra_options="${extra_options} fused-madd.opt"
543 tm_file=${cpu_type}/${cpu_type}.h
544 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
546 tm_p_file=${cpu_type}/${cpu_type}-protos.h
549 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
551 extra_modes=${cpu_type}/${cpu_type}-modes.def
553 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
555 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
560 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
563 if test "x$with_multilib_list" = xilp32; then
564 tm_file="aarch64/biarchilp32.h ${tm_file}"
566 tm_file="aarch64/biarchlp64.h ${tm_file}"
570 tm_file="aarch64/biarchilp32.h ${tm_file}"
573 tm_file="aarch64/biarchlp64.h ${tm_file}"
576 echo "Unknown ABI used in --with-abi=$with_abi"
581 if test "x$with_abi" != x; then
582 echo "This target does not support --with-abi."
585 if test "x$enable_cld" = xyes; then
586 tm_defines="${tm_defines} USE_IX86_CLD=1"
588 if test "x$enable_frame_pointer" = xyes; then
589 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
591 tm_file="vxworks-dummy.h ${tm_file}"
596 if test "x$with_multilib_list" = xmx32; then
597 tm_file="i386/biarchx32.h ${tm_file}"
599 tm_file="i386/biarch64.h ${tm_file}"
603 tm_file="i386/biarch64.h ${tm_file}"
606 tm_file="i386/biarchx32.h ${tm_file}"
609 echo "Unknown ABI used in --with-abi=$with_abi"
612 if test "x$enable_cld" = xyes; then
613 tm_defines="${tm_defines} USE_IX86_CLD=1"
615 if test "x$enable_frame_pointer" = xyes; then
616 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
618 tm_file="vxworks-dummy.h ${tm_file}"
621 tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h"
622 tm_file="vxworks-dummy.h ${tm_file}"
624 mips*-*-* | sh*-*-* | sparc*-*-*)
625 tm_file="vxworks-dummy.h ${tm_file}"
629 # On a.out targets, we need to use collect2.
636 # Common C libraries.
637 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
639 # 32-bit x86 processors supported by --with-arch=. Each processor
640 # MUST be separated by exactly one space.
641 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
642 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
643 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
644 pentium4 pentium4m pentiumpro prescott lakemont"
646 # 64-bit x86 processors supported by --with-arch=. Each processor
647 # MUST be separated by exactly one space.
648 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
649 bdver3 bdver4 znver1 btver1 btver2 k8 k8-sse3 opteron opteron-sse3 nocona \
650 core2 corei7 corei7-avx core-avx-i core-avx2 atom slm nehalem westmere \
651 sandybridge ivybridge haswell broadwell bonnell silvermont knl knm \
652 skylake-avx512 cannonlake icelake-client icelake-server skylake goldmont \
653 goldmont-plus tremont x86-64 native"
655 # Additional x86 processors supported by --with-cpu=. Each processor
656 # MUST be separated by exactly one space.
657 x86_cpus="generic intel"
659 # Common parts for widely ported systems.
662 tmake_file="t-darwin ${cpu_type}/t-darwin"
663 tm_file="${tm_file} darwin.h"
666 tm_file="${tm_file} darwin9.h"
669 tm_file="${tm_file} darwin9.h darwin10.h"
671 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
672 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
675 tm_file="${tm_file} ${cpu_type}/darwin.h"
676 tm_p_file="${tm_p_file} darwin-protos.h"
677 target_gtfiles="\$(srcdir)/config/darwin.c"
678 extra_options="${extra_options} darwin.opt"
679 c_target_objs="${c_target_objs} darwin-c.o"
680 cxx_target_objs="${cxx_target_objs} darwin-c.o"
681 fortran_target_objs="darwin-f.o"
682 target_has_targetcm=yes
683 extra_objs="${extra_objs} darwin.o"
684 extra_gcc_objs="darwin-driver.o"
685 default_use_cxa_atexit=yes
687 case ${enable_threads} in
688 "" | yes | posix) thread_file='posix' ;;
694 tmake_file="t-slibgcc"
695 case ${enable_threads} in
700 # Let these non-posix thread selections fall through if requested
703 echo 'Unknown thread configuration for DragonFly BSD'
707 extra_options="$extra_options rpath.opt dragonfly.opt"
708 default_use_cxa_atexit=yes
712 # This is the generic ELF configuration of FreeBSD. Later
713 # machine-specific sections may refine and add to this
716 # Due to tm_file entry ordering issues that vary between cpu
717 # architectures, we only define fbsd_tm_file to allow the
718 # machine-specific section to dictate the final order of all
719 # entries of tm_file with the minor exception that components
720 # of the tm_file set here will always be of the form:
722 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
724 # The machine-specific section should not tamper with this
725 # ordering but may order all other entries of tm_file as it
726 # pleases around the provided core setting.
729 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
730 if test "$fbsd_major" = ""; then
731 echo "Specify the major version number of the targeted FreeBSD release"
732 echo "like this: --target=amd64-unknown-freebsd10.1"
735 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
736 tmake_file="t-slibgcc"
737 case ${enable_threads} in
739 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
745 echo 'Unknown thread configuration for FreeBSD'
749 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
750 extra_options="$extra_options rpath.opt freebsd.opt"
755 default_use_cxa_atexit=yes;;
760 native_system_header_dir=/include
762 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
763 extra_options="$extra_options gnu-user.opt"
766 case ${enable_threads} in
767 "" | yes | posix) thread_file='posix' ;;
769 tmake_file="t-slibgcc"
771 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu)
774 native_system_header_dir=/include
777 # Linux C libraries selection switch: glibc / uclibc / bionic.
778 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
781 tm_p_file="${tm_p_file} linux-protos.h"
782 tmake_file="${tmake_file} t-linux"
783 extra_objs="${extra_objs} linux.o"
784 extra_options="${extra_options} linux.opt"
789 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
792 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
795 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
798 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
801 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
803 default_use_cxa_atexit=yes
806 # Enable compilation for Android by default for *android* targets.
809 tm_defines="$tm_defines ANDROID_DEFAULT=1"
812 tm_defines="$tm_defines ANDROID_DEFAULT=0"
815 c_target_objs="${c_target_objs} glibc-c.o"
816 cxx_target_objs="${cxx_target_objs} glibc-c.o"
817 tmake_file="${tmake_file} t-glibc"
818 target_has_targetcm=yes
821 tm_p_file="${tm_p_file} netbsd-protos.h"
822 tmake_file="t-netbsd t-slibgcc"
823 extra_objs="${extra_objs} netbsd.o"
827 case ${enable_threads} in
828 "" | yes | posix) thread_file='posix' ;;
830 nbsd_tm_file="netbsd.h netbsd-stdint.h netbsd-elf.h"
831 default_use_cxa_atexit=yes
834 tmake_file="t-openbsd"
835 case ${enable_threads} in
841 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
842 default_use_cxa_atexit=yes
849 default_use_cxa_atexit=yes
852 case ${enable_threads} in
853 "" | yes | rtems) thread_file='rtems' ;;
854 posix) thread_file='posix' ;;
857 echo 'Unknown thread configuration for RTEMS'
861 tmake_file="${tmake_file} t-rtems"
862 extra_options="${extra_options} rtems.opt"
863 default_use_cxa_atexit=yes
867 extra_options="$extra_options gnu-user.opt"
869 case ${enable_threads} in
870 "" | yes | posix) thread_file='posix' ;;
872 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
878 # i?86-*-solaris2* needs to insert headers between cpu default and
879 # Solaris 2 specific ones.
880 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
881 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
882 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
884 *-*-solaris2.1[1-9]*)
885 # __cxa_atexit was introduced in Solaris 11.4.
886 default_use_cxa_atexit=yes
890 if test x$gnu_ld = xyes; then
891 tm_file="usegld.h ${tm_file}"
893 if test x$gas = xyes; then
894 tm_file="usegas.h ${tm_file}"
896 tm_p_file="${tm_p_file} sol2-protos.h"
897 tmake_file="${tmake_file} t-sol2 t-slibgcc"
898 c_target_objs="${c_target_objs} sol2-c.o"
899 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
900 extra_objs="${extra_objs} sol2.o sol2-stubs.o"
901 extra_options="${extra_options} sol2.opt"
902 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
903 "":yes:* | yes:yes:* )
909 extra_options="${extra_options} vms/vms.opt"
911 tmake_file="vms/t-vms t-slibgcc"
913 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
914 tm_p_file="${tm_p_file} vms/vms-protos.h"
915 xm_file="vms/xm-vms.h"
916 c_target_objs="vms-c.o"
917 cxx_target_objs="vms-c.o"
918 fortran_target_objs="vms-f.o"
919 use_gcc_stdint=provide
920 tm_file="${tm_file} vms/vms-stdint.h"
921 if test x$gnu_ld != xyes; then
922 # Build wrappers for native case.
923 extra_programs="ld\$(exeext) ar\$(exeext)"
924 tmake_file="$tmake_file vms/t-vmsnative"
930 extra_options="${extra_options} vxworks.opt"
931 extra_objs="$extra_objs vxworks.o"
932 use_gcc_stdint=provide
933 tm_file="${tm_file} vxworks-stdint.h"
934 case ${enable_threads} in
936 "" | yes | vxworks) thread_file='vxworks' ;;
937 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
941 tm_defines="$tm_defines TARGET_VXWORKS7=1"
946 # Assume that newlib is being used and so __cxa_atexit is provided.
947 default_use_cxa_atexit=yes
953 aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
954 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
955 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
956 tmake_file="${tmake_file} aarch64/t-aarch64"
962 tm_file="${tm_file} fuchsia.h"
965 tm_file="${tm_file} rtems.h aarch64/rtems.h"
970 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
973 aarch64_multilibs="${with_multilib_list}"
974 if test "$aarch64_multilibs" = "default"; then
975 aarch64_multilibs="lp64,ilp32"
977 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
978 for aarch64_multilib in ${aarch64_multilibs}; do
979 case ${aarch64_multilib} in
981 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
984 echo "--with-multilib-list=${aarch64_multilib} not supported."
988 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
991 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}"
992 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-freebsd.h"
993 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd"
996 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
997 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
998 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
999 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
1002 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1005 aarch64_multilibs="${with_multilib_list}"
1006 if test "$aarch64_multilibs" = "default"; then
1007 # TODO: turn on ILP32 multilib build after its support is mature.
1008 # aarch64_multilibs="lp64,ilp32"
1009 aarch64_multilibs="lp64"
1011 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
1012 for aarch64_multilib in ${aarch64_multilibs}; do
1013 case ${aarch64_multilib} in
1015 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
1018 echo "--with-multilib-list=${aarch64_multilib} not supported."
1022 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1025 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
1026 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha"
1027 extra_options="${extra_options} alpha/elf.opt"
1030 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h"
1031 tmake_file="${tmake_file} alpha/t-alpha"
1032 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
1036 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
1037 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
1038 tmake_file="${tmake_file} alpha/t-alpha"
1039 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
1040 # default x-alpha is only appropriate for dec-osf.
1043 tm_file="${tm_file} vms/vms.h alpha/vms.h"
1044 tmake_file="${tmake_file} alpha/t-vms alpha/t-alpha"
1047 tm_file="arc/arc-arch.h dbxelf.h elfos.h newlib-stdint.h arc/elf.h ${tm_file}"
1048 tmake_file="arc/t-multilib arc/t-arc"
1049 extra_gcc_objs="driver-arc.o"
1050 if test "x$with_cpu" != x; then
1051 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1053 if test x${with_endian} = x; then
1055 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1056 *) with_endian=little ;;
1059 case ${with_endian} in
1061 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1063 case ${with_endian} in
1064 big*) tm_file="arc/big.h ${tm_file}"
1068 tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}"
1069 tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc"
1070 extra_gcc_objs="driver-arc.o"
1071 if test "x$with_cpu" != x; then
1072 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1074 if test x${with_endian} = x; then
1076 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1077 *) with_endian=little ;;
1080 case ${with_endian} in
1082 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1084 case ${with_endian} in
1085 big*) tm_file="arc/big.h ${tm_file}"
1088 arm-wrs-vxworks|arm-wrs-vxworks7)
1089 extra_options="${extra_options} arm/vxworks.opt"
1090 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1093 # VxWorks7 on ARM adheres to the ARM Base Platform ABI
1094 tmake_file="${tmake_file} arm/t-bpabi"
1095 tm_file="arm/bpabi.h ${tm_file}"
1096 # The BPABI long long divmod functions return a 128-bit value in
1098 need_64bit_hwint=yes
1099 default_use_cxa_atexit=yes
1103 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1104 target_cpu_cname="arm8"
1106 arm*-*-freebsd*) # ARM FreeBSD EABI
1107 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1110 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1113 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1114 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1117 target_cpu_cname="arm1176jzf-s"
1118 if test $fbsd_major -ge 11; then
1119 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1123 target_cpu_cname="generic-armv7-a"
1124 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1127 target_cpu_cname="arm9"
1130 with_tls=${with_tls:-gnu}
1133 tm_file="dbxelf.h elfos.h ${nbsd_tm_file} arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1134 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1135 tmake_file="${tmake_file} arm/t-arm"
1136 target_cpu_cname="arm6"
1138 arm*-*-linux-*) # ARM GNU/Linux with ELF
1139 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"
1140 extra_options="${extra_options} linux-android.opt"
1143 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1146 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1147 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1148 # Generation of floating-point instructions requires at least ARMv5te.
1149 if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then
1150 target_cpu_cname="arm10e"
1152 target_cpu_cname="arm10tdmi"
1154 # Define multilib configuration for arm-linux-androideabi.
1157 tmake_file="$tmake_file arm/t-linux-androideabi"
1160 # The EABI requires the use of __cxa_atexit.
1161 default_use_cxa_atexit=yes
1162 with_tls=${with_tls:-gnu}
1164 arm*-*-uclinux*eabi*) # ARM ucLinux
1165 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1166 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1167 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
1168 target_cpu_cname="arm7tdmi"
1169 # The EABI requires the use of __cxa_atexit.
1170 default_use_cxa_atexit=yes
1173 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1174 tm_file="${tm_file} newlib-stdint.h phoenix.h"
1175 tm_file="${tm_file} arm/aout.h arm/arm.h"
1176 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
1177 target_cpu_cname="arm7tdmi"
1179 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
1182 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1184 default_use_cxa_atexit=yes
1185 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1186 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1187 target_cpu_cname="arm7tdmi"
1190 tm_file="$tm_file newlib-stdint.h"
1191 tmake_file="${tmake_file} arm/t-bpabi"
1195 tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h"
1196 tmake_file="${tmake_file} arm/t-bpabi arm/t-fuchsia"
1197 target_cpu_cname="generic-armv7-a"
1200 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1201 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1204 tm_file="${tm_file} arm/symbian.h"
1205 # We do not include t-bpabi for Symbian OS because the system
1206 # provides its own implementation of the BPABI functions.
1207 tmake_file="${tmake_file} arm/t-symbian"
1208 target_cpu_cname="arm10tdmi"
1211 tm_file="${tm_file} arm/aout.h vxworks-dummy.h arm/arm.h"
1214 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1215 if test x${with_avrlibc} != xno; then
1216 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1217 tm_defines="${tm_defines} WITH_AVRLIBC"
1219 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1221 extra_gcc_objs="driver-avr.o avr-devices.o"
1222 extra_objs="avr-devices.o avr-log.o"
1225 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1226 tmake_file=bfin/t-bfin-elf
1230 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1231 tmake_file=bfin/t-bfin-uclinux
1234 bfin*-linux-uclibc*)
1235 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"
1236 tmake_file="${tmake_file} bfin/t-bfin-linux"
1240 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1241 tmake_file="${tmake_file} bfin/t-rtems"
1244 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1249 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1250 tmake_file="${tmake_file} cr16/t-cr16 "
1253 crisv32-*-elf | crisv32-*-none)
1254 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1255 tmake_file="cris/t-cris"
1256 target_cpu_default=32
1258 extra_options="${extra_options} cris/elf.opt"
1261 cris-*-elf | cris-*-none)
1262 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1263 tmake_file="cris/t-cris cris/t-elfmulti"
1265 extra_options="${extra_options} cris/elf.opt"
1268 crisv32-*-linux* | cris-*-linux*)
1269 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1270 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1271 extra_options="${extra_options} cris/linux.opt"
1274 target_cpu_default=10
1277 target_cpu_default=32
1281 epiphany-*-elf | epiphany-*-rtems*)
1282 tm_file="${tm_file} dbxelf.h elfos.h"
1283 tmake_file="${tmake_file} epiphany/t-epiphany"
1286 tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h"
1289 tm_file="${tm_file} newlib-stdint.h"
1292 extra_options="${extra_options} fused-madd.opt"
1293 extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o"
1294 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1295 extra_headers="epiphany_intrinsics.h"
1298 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1301 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1302 tmake_file=frv/t-frv
1305 tm_file="dbxelf.h elfos.h ${tm_file} \
1306 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1307 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1312 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1313 tmake_file="${tmake_file} ft32/t-ft32"
1318 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1319 tmake_file="${tmake_file} moxie/t-moxie"
1324 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1325 tmake_file="${tmake_file} moxie/t-moxie"
1328 tmake_file="${tmake_file} moxie/t-moxie"
1329 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1334 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1335 tmake_file="${tmake_file} moxie/t-moxiebox"
1338 tmake_file="h8300/t-h8300"
1339 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1342 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1343 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1346 target_cpu_default="MASK_PA_11|MASK_PA_20"
1347 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1348 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1353 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS|MASK_CALLER_COPIES"
1354 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1355 pa/pa32-regs.h pa/pa32-linux.h"
1356 tmake_file="${tmake_file} pa/t-linux"
1359 target_cpu_default="MASK_PA_11"
1360 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1361 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1362 extra_options="${extra_options} openbsd.opt"
1366 hppa[12]*-*-hpux10*)
1368 hppa1.1-*-* | hppa2*-*-*)
1369 target_cpu_default="MASK_PA_11"
1372 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1373 pa/pa-hpux.h pa/pa-hpux10.h"
1374 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1377 tm_file="${tm_file} pa/pa-hpux1010.h"
1378 extra_options="${extra_options} pa/pa-hpux1010.opt"
1381 use_gcc_stdint=provide
1382 tm_file="${tm_file} hpux-stdint.h"
1383 tmake_file="t-slibgcc"
1384 case ${enable_threads} in
1386 if test x$have_pthread_h = xyes ; then
1387 tmake_file="${tmake_file} pa/t-dce-thr"
1391 tmake_file="${tmake_file} pa/t-dce-thr"
1396 if test "x$with_dwarf2" != x; then
1397 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1402 target_cpu_default="MASK_PA_11|MASK_PA_20"
1403 if test x$gnu_ld = xyes
1405 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1407 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1408 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1412 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1413 extra_options="${extra_options} pa/pa-hpux1111.opt"
1416 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1417 extra_options="${extra_options} pa/pa-hpux1131.opt"
1420 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1423 extra_options="${extra_options} pa/pa-hpux.opt \
1424 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1425 tmake_file="t-slibgcc"
1426 case x${enable_threads} in
1434 use_gcc_stdint=provide
1435 tm_file="${tm_file} hpux-stdint.h"
1439 tm_file="${tm_file} hpux-stdint.h"
1443 hppa[12]*-*-hpux11*)
1445 hppa1.1-*-* | hppa2*-*-*)
1446 target_cpu_default="MASK_PA_11"
1449 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1450 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1451 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1455 tm_file="${tm_file} pa/pa-hpux1111.h"
1456 extra_options="${extra_options} pa/pa-hpux1111.opt"
1459 tm_file="${tm_file} pa/pa-hpux1131.h"
1460 extra_options="${extra_options} pa/pa-hpux1131.opt"
1463 tmake_file="t-slibgcc"
1464 case x${enable_threads} in
1473 use_gcc_stdint=provide
1474 tm_file="${tm_file} hpux-stdint.h"
1478 tm_file="${tm_file} hpux-stdint.h"
1481 if test "x$with_dwarf2" != x; then
1482 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1486 i[34567]86-*-darwin*)
1488 # Baseline choice for a machine that allows m64 support.
1489 with_cpu=${with_cpu:-core2}
1490 tmake_file="${tmake_file} t-slibgcc"
1493 with_cpu=${with_cpu:-core2}
1494 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1495 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1497 i[34567]86-*-elfiamcu)
1498 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1501 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1504 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1507 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/rtemself.h rtems.h"
1510 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1513 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"
1514 tmake_file="i386/t-i386elf t-svr4"
1516 i[34567]86-*-dragonfly*)
1517 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1518 tmake_file="${tmake_file} i386/t-crtstuff"
1520 x86_64-*-dragonfly*)
1521 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"
1522 tmake_file="${tmake_file} i386/t-crtstuff"
1524 i[34567]86-*-freebsd*)
1525 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1528 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"
1530 i[34567]86-*-netbsdelf*)
1531 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/netbsd-elf.h"
1532 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1535 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/x86-64.h i386/netbsd64.h"
1536 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1538 i[34567]86-*-openbsd*)
1539 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1540 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1541 extra_options="${extra_options} openbsd.opt"
1546 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1547 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1548 extra_options="${extra_options} openbsd.opt"
1552 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1553 # Intel 80386's running GNU/*
1554 # with ELF format using glibc 2
1555 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1557 i[34567]86-*-linux*)
1558 tm_file="${tm_file} linux.h linux-android.h"
1559 extra_options="${extra_options} linux-android.opt"
1560 if test x$enable_targets = xall; then
1561 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1562 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1563 tmake_file="${tmake_file} i386/t-linux64"
1564 x86_multilibs="${with_multilib_list}"
1565 if test "$x86_multilibs" = "default"; then
1566 x86_multilibs="m64,m32"
1568 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1569 for x86_multilib in ${x86_multilibs}; do
1570 case ${x86_multilib} in
1572 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1575 echo "--with-multilib-list=${x86_with_multilib} not supported."
1579 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1581 if test x$with_cpu = x; then
1582 if test x$with_cpu_64 = x; then
1586 case " $x86_cpus $x86_archs $x86_64_archs " in
1590 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1591 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1597 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1600 i[34567]86-*-kfreebsd*-gnu)
1601 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1603 i[34567]86-*-kopensolaris*-gnu)
1604 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1607 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1611 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1612 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1613 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1616 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1617 extra_options="${extra_options} linux-android.opt"
1619 x86_64-*-kfreebsd*-gnu)
1620 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1623 tmake_file="${tmake_file} i386/t-linux64"
1624 x86_multilibs="${with_multilib_list}"
1625 if test "$x86_multilibs" = "default"; then
1628 x86_multilibs="mx32"
1631 x86_multilibs="m64,m32"
1635 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1636 for x86_multilib in ${x86_multilibs}; do
1637 case ${x86_multilib} in
1639 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1642 echo "--with-multilib-list=${x86_with_multilib} not supported."
1646 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1648 i[34567]86-pc-msdosdjgpp*)
1649 xm_file=i386/xm-djgpp.h
1650 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1651 native_system_header_dir=/dev/env/DJDIR/include
1652 extra_options="${extra_options} i386/djgpp.opt"
1657 i[34567]86-*-lynxos*)
1659 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1660 tmake_file="${tmake_file} t-lynx"
1661 extra_options="${extra_options} lynx.opt"
1666 i[34567]86-*-nto-qnx*)
1667 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1668 extra_options="${extra_options} i386/nto.opt"
1672 i[34567]86-*-rtems*)
1673 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"
1674 tmake_file="${tmake_file} i386/t-rtems"
1676 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1677 # Set default arch_32 to pentium4, tune_32 to generic like the other
1678 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1679 with_arch_32=${with_arch_32:-pentium4}
1680 with_tune_32=${with_tune_32:-generic}
1681 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1682 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1683 tmake_file="$tmake_file i386/t-sol2"
1685 if test x$with_cpu = x; then
1686 if test x$with_cpu_64 = x; then
1690 case " $x86_cpus $x86_archs $x86_64_archs " in
1694 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1695 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1701 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae|i[4567]86-wrs-vxworks7|x86_64-wrs-vxworks7)
1702 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h"
1706 tm_file="${tm_file} i386/x86-64.h"
1709 tm_file="${tm_file} vx-common.h"
1712 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1713 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1716 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1717 tmake_file="${tmake_file} i386/t-vxworks"
1721 i[34567]86-*-cygwin*)
1722 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"
1723 xm_file=i386/xm-cygwin.h
1724 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1725 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1726 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1727 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1728 c_target_objs="${c_target_objs} msformat-c.o"
1729 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1730 if test x$enable_threads = xyes; then
1733 default_use_cxa_atexit=yes
1738 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"
1739 xm_file=i386/xm-cygwin.h
1740 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1741 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1742 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1743 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1744 c_target_objs="${c_target_objs} msformat-c.o"
1745 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1746 if test x$enable_threads = xyes; then
1749 default_use_cxa_atexit=yes
1751 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1753 i[34567]86-*-mingw* | x86_64-*-mingw*)
1754 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1755 xm_file=i386/xm-mingw32.h
1756 c_target_objs="${c_target_objs} winnt-c.o"
1757 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1758 target_has_targetcm="yes"
1760 x86_64-*-* | *-w64-*)
1766 if test x$enable_threads = xposix ; then
1767 tm_file="${tm_file} i386/mingw-pthread.h"
1769 tm_file="${tm_file} i386/mingw32.h"
1770 # This makes the logic if mingw's or the w64 feature set has to be used
1773 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1774 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1775 tm_file="${tm_file} i386/mingw-w64.h"
1776 if test x$enable_targets = xall; then
1777 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1778 if test x$with_cpu = x; then
1779 if test x$with_cpu_64 = x; then
1783 case " $x86_cpus $x86_archs $x86_64_archs " in
1787 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1788 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1798 tm_file="${tm_file} i386/mingw-stdint.h"
1799 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1802 tmake_file="${tmake_file} i386/t-mingw-w64"
1805 tmake_file="${tmake_file} i386/t-mingw-w32"
1808 native_system_header_dir=/mingw/include
1809 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1810 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1813 extra_options="${extra_options} i386/mingw-w64.opt"
1818 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1819 c_target_objs="${c_target_objs} msformat-c.o"
1820 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1823 default_use_cxa_atexit=yes
1825 case ${enable_threads} in
1835 tm_file="${tm_file} i386/crtdll.h"
1837 *mingw32msv* | *mingw*)
1842 tmake_file="${tmake_file} i386/t-x86_64-elf"
1843 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h fuchsia.h"
1846 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1847 tmake_file="ia64/t-ia64"
1848 target_cpu_default="0"
1849 if test x$gas = xyes
1851 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1853 if test x$gnu_ld = xyes
1855 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1859 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1860 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1861 tmake_file="${tmake_file} ia64/t-ia64"
1864 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1865 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1866 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1869 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1870 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1871 target_cpu_default="MASK_GNU_AS"
1872 case x$enable_threads in
1878 c_target_objs="ia64-c.o"
1879 cxx_target_objs="ia64-c.o"
1880 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
1882 tm_file="${tm_file} hpux-stdint.h"
1885 tm_file="${tm_file} ia64/hpux-unix2003.h"
1890 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
1891 tmake_file="${tmake_file} ia64/t-ia64"
1892 target_cpu_default="0"
1893 if test x$gas = xyes
1895 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1897 extra_options="${extra_options} ia64/vms.opt"
1900 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
1901 out_file=iq2000/iq2000.c
1902 md_file=iq2000/iq2000.md
1905 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
1906 tmake_file="${tmake_file} lm32/t-lm32"
1909 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
1910 tmake_file="${tmake_file} lm32/t-lm32"
1911 tmake_file="${tmake_file} lm32/t-rtems"
1914 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
1915 tmake_file="${tmake_file} lm32/t-lm32"
1918 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1921 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
1924 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
1925 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1927 if test x$enable_threads = xyes; then
1932 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
1933 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
1935 if test x$enable_threads = xyes; then
1939 m68k-*-elf* | fido-*-elf*)
1942 # Check that $with_cpu makes sense.
1947 echo "Cannot accept --with-cpu=$with_cpu"
1954 default_m68k_cpu=68020
1958 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"
1959 tm_defines="${tm_defines} MOTOROLA=1"
1960 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
1961 # Add multilibs for targets other than fido.
1966 tmake_file="$tmake_file m68k/t-mlibs"
1971 default_m68k_cpu=68020
1973 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} m68k/netbsd-elf.h"
1974 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1975 tm_defines="${tm_defines} MOTOROLA=1 CHAR_FAST8=1 SHORT_FAST16=1"
1978 default_m68k_cpu=68020
1980 # needed to unconfuse gdb
1981 tm_defines="${tm_defines} OBSD_OLD_GAS"
1982 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
1983 extra_options="${extra_options} openbsd.opt"
1984 tmake_file="t-openbsd m68k/t-openbsd"
1985 # we need collect2 until our bug is fixed...
1988 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
1989 # with uClibc, using the new GNU/Linux-style
1991 default_m68k_cpu=68020
1993 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"
1994 extra_options="${extra_options} m68k/uclinux.opt"
1995 tm_defines="${tm_defines} MOTOROLA=1"
1996 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
1998 m68k-*-linux*) # Motorola m68k's running GNU/Linux
1999 # with ELF format using glibc 2
2000 # aka the GNU/Linux C library 6.
2001 default_m68k_cpu=68020
2003 with_arch=${with_arch:-m68k}
2004 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
2005 extra_options="${extra_options} m68k/ieee.opt"
2006 tm_defines="${tm_defines} MOTOROLA=1"
2007 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
2010 default_m68k_cpu=68020
2012 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
2013 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"
2014 tm_defines="${tm_defines} MOTOROLA=1"
2017 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
2018 tmake_file=mcore/t-mcore
2024 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2027 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2030 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
2031 tm_file="${tm_file} glibc-stdint.h"
2032 c_target_objs="${c_target_objs} microblaze-c.o"
2033 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2034 tmake_file="${tmake_file} microblaze/t-microblaze"
2035 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
2037 microblaze*-*-rtems*)
2040 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2043 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2046 tm_file="${tm_file} dbxelf.h"
2047 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
2048 c_target_objs="${c_target_objs} microblaze-c.o"
2049 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2050 tmake_file="${tmake_file} microblaze/t-microblaze"
2051 tmake_file="${tmake_file} microblaze/t-rtems"
2056 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2059 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2062 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
2063 c_target_objs="${c_target_objs} microblaze-c.o"
2064 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2065 tmake_file="${tmake_file} microblaze/t-microblaze"
2068 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} riscv/linux.h"
2069 case "x${enable_multilib}" in
2071 xyes) tmake_file="${tmake_file} riscv/t-linux-multilib" ;;
2072 *) echo "Unknown value for enable_multilib"; exit 1
2074 tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux"
2077 # Force .init_array support. The configure script cannot always
2078 # automatically detect that GAS supports it, yet we require it.
2079 gcc_cv_initfini_array=yes
2081 riscv*-*-elf* | riscv*-*-rtems*)
2082 tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
2085 tm_file="${tm_file} rtems.h riscv/rtems.h"
2086 tmake_file="${tmake_file} riscv/t-rtems"
2089 case "x${enable_multilib}" in
2091 xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;;
2092 *) echo "Unknown value for enable_multilib"; exit 1
2095 tmake_file="${tmake_file} riscv/t-riscv"
2098 # Force .init_array support. The configure script cannot always
2099 # automatically detect that GAS supports it, yet we require it.
2100 gcc_cv_initfini_array=yes
2103 tm_file="${tm_file} elfos.h ${fbsd_tm_file} riscv/freebsd.h"
2104 tmake_file="${tmake_file} riscv/t-riscv"
2107 # Force .init_array support. The configure script cannot always
2108 # automatically detect that GAS supports it, yet we require it.
2109 gcc_cv_initfini_array=yes
2111 mips*-*-netbsd*) # NetBSD/mips, either endian.
2112 target_cpu_default="MASK_ABICALLS"
2113 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h"
2114 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2117 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"
2118 extra_options="${extra_options} linux-android.opt"
2119 tmake_file="${tmake_file} mips/t-img-linux"
2120 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2121 with_arch_32="mips32r6"
2122 with_arch_64="mips64r6"
2127 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"
2128 extra_options="${extra_options} linux-android.opt"
2129 tmake_file="${tmake_file} mips/t-mti-linux"
2130 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2131 with_arch_32="mips32r2"
2132 with_arch_64="mips64r2"
2136 mips*-*-linux*) # Linux MIPS, either endian.
2137 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"
2138 extra_options="${extra_options} linux-android.opt"
2141 default_mips_arch=mips32r6
2144 default_mips_arch=mips32r2
2147 default_mips_arch=mips32
2149 mips64el-st-linux-gnu)
2150 default_mips_abi=n32
2151 tm_file="${tm_file} mips/st.h"
2152 tmake_file="${tmake_file} mips/t-st"
2153 enable_mips_multilibs="yes"
2155 mips64octeon*-*-linux*)
2156 default_mips_abi=n32
2157 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2158 target_cpu_default=MASK_SOFT_FLOAT_ABI
2159 enable_mips_multilibs="yes"
2161 mipsisa64r6*-*-linux*)
2162 default_mips_abi=n32
2163 default_mips_arch=mips64r6
2164 enable_mips_multilibs="yes"
2166 mipsisa64r2*-*-linux*)
2167 default_mips_abi=n32
2168 default_mips_arch=mips64r2
2169 enable_mips_multilibs="yes"
2171 mips64*-*-linux* | mipsisa64*-*-linux*)
2172 default_mips_abi=n32
2173 enable_mips_multilibs="yes"
2176 if test x$enable_targets = xall; then
2177 enable_mips_multilibs="yes"
2179 if test x$enable_mips_multilibs = xyes; then
2180 tmake_file="${tmake_file} mips/t-linux64"
2184 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2185 tmake_file="mips/t-mti-elf"
2186 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2187 with_arch_32="mips32r2"
2188 with_arch_64="mips64r2"
2191 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2192 tmake_file="mips/t-img-elf"
2193 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2194 with_arch_32="mips32r6"
2195 with_arch_64="mips64r6"
2198 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2199 tmake_file="mips/t-sde"
2200 extra_options="${extra_options} mips/sde.opt"
2201 case "${with_newlib}" in
2203 # newlib / libgloss.
2206 # MIPS toolkit libraries.
2207 tm_file="$tm_file mips/sdemtk.h"
2208 tmake_file="$tmake_file mips/t-sdemtk"
2209 case ${enable_threads} in
2211 thread_file='mipssde'
2218 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2221 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2224 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2227 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2230 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2233 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2237 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2238 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2239 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2240 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2241 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2242 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2243 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2244 tmake_file="mips/t-isa3264"
2247 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2250 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2253 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2256 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2259 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2262 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2266 mipsisa32*-*-elfoabi*)
2267 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2268 tm_file="${tm_file} mips/elfoabi.h"
2270 mipsisa64*-*-elfoabi*)
2271 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2272 tm_file="${tm_file} mips/elfoabi.h"
2275 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2279 mipsisa64sr71k-*-elf*)
2280 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2281 tmake_file=mips/t-sr71k
2282 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2284 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2285 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2286 tmake_file="mips/t-elf mips/t-sb1"
2287 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2289 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2290 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2291 tmake_file="mips/t-elf"
2293 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2294 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2295 tmake_file="mips/t-elf"
2296 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2298 mips64-*-elf* | mips64el-*-elf*)
2299 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2300 tmake_file="mips/t-elf"
2301 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2303 mips64vr-*-elf* | mips64vrel-*-elf*)
2304 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2305 tmake_file=mips/t-vr
2306 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2308 mips64orion-*-elf* | mips64orionel-*-elf*)
2309 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2310 tmake_file="mips/t-elf"
2311 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2314 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2315 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2318 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2319 tmake_file="${tmake_file} mips/t-vxworks"
2321 mipstx39-*-elf* | mipstx39el-*-elf*)
2322 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2323 tmake_file="mips/t-r3900"
2325 mmix-knuth-mmixware)
2326 tm_file="${tm_file} newlib-stdint.h"
2330 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2331 if test x$stabs = xyes
2333 tm_file="${tm_file} dbx.h"
2339 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2340 c_target_objs="msp430-c.o"
2341 cxx_target_objs="msp430-c.o"
2342 tmake_file="${tmake_file} msp430/t-msp430"
2343 extra_gcc_objs="driver-msp430.o"
2346 target_cpu_default="0"
2347 tm_defines="${tm_defines}"
2352 target_cpu_default="${target_cpu_default}|MASK_BIG_ENDIAN"
2353 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2358 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} nds32/elf.h nds32/nds32_intrinsic.h"
2359 tmake_file="nds32/t-nds32 nds32/t-elf"
2362 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h nds32/linux.h nds32/nds32_intrinsic.h"
2363 tmake_file="${tmake_file} nds32/t-nds32 nds32/t-linux"
2367 # Handle --enable-default-relax setting.
2368 if test x${enable_default_relax} = xyes; then
2369 tm_defines="${tm_defines} TARGET_DEFAULT_RELAX=1"
2371 # Handle --with-ext-dsp
2372 if test x${with_ext_dsp} = xyes; then
2373 tm_defines="${tm_defines} TARGET_DEFAULT_EXT_DSP=1"
2377 tm_file="elfos.h ${tm_file}"
2378 tmake_file="${tmake_file} nios2/t-nios2"
2381 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2384 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2385 extra_options="${extra_options} nios2/elf.opt"
2388 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2389 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2394 tm_file="${tm_file} newlib-stdint.h"
2396 tmake_file="nvptx/t-nvptx"
2397 if test x$enable_as_accelerator = xyes; then
2398 extra_programs="${extra_programs} mkoffload\$(exeext)"
2399 tm_file="${tm_file} nvptx/offload.h"
2403 tm_file="${tm_file} newlib-stdint.h"
2406 # port not yet contributed
2407 #powerpc-*-openbsd*)
2408 # tmake_file="${tmake_file} rs6000/t-fprules"
2412 extra_options="${extra_options} rs6000/darwin.opt"
2414 *-darwin1[0-9]* | *-darwin[8-9]*)
2415 tmake_file="${tmake_file} rs6000/t-darwin8"
2416 tm_file="${tm_file} rs6000/darwin8.h"
2419 tm_file="${tm_file} rs6000/darwin7.h"
2424 tmake_file="${tmake_file} t-slibgcc"
2425 extra_headers=altivec.h
2427 powerpc64-*-darwin*)
2428 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2429 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2430 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2431 extra_headers=altivec.h
2433 powerpc*-*-freebsd*)
2434 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
2435 extra_options="${extra_options} rs6000/sysv4.opt"
2436 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2439 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2440 tmake_file="${tmake_file} rs6000/t-freebsd64"
2441 extra_options="${extra_options} rs6000/linux64.opt"
2444 tm_file="${tm_file} rs6000/freebsd.h"
2449 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2450 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2451 tmake_file="${tmake_file} rs6000/t-netbsd"
2452 extra_options="${extra_options} rs6000/sysv4.opt"
2455 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h ${cpu_type}/sysv4.h ${cpu_type}/eabi.h ${cpu_type}/e500.h ${cpu_type}/eabispe.h"
2456 extra_options="${extra_options} ${cpu_type}/sysv4.opt"
2457 tmake_file="${cpu_type}/t-spe ${cpu_type}/t-ppccomm"
2460 powerpc-*-eabisimaltivec*)
2461 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
2462 extra_options="${extra_options} rs6000/sysv4.opt"
2463 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2467 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
2468 extra_options="${extra_options} rs6000/sysv4.opt"
2469 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2473 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2474 extra_options="${extra_options} rs6000/sysv4.opt"
2475 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2477 powerpc-*-eabialtivec*)
2478 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
2479 extra_options="${extra_options} rs6000/sysv4.opt"
2480 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2484 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h"
2485 extra_options="${extra_options} rs6000/sysv4.opt"
2486 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2489 powerpc-*-rtems*spe*)
2490 tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h powerpcspe/sysv4.h powerpcspe/eabi.h powerpcspe/e500.h powerpcspe/rtems.h rtems.h"
2491 extra_options="${extra_options} powerpcspe/sysv4.opt"
2492 tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-rtems powerpcspe/t-ppccomm"
2495 tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/rtems.h rtems.h"
2496 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
2497 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2499 powerpc*-*-linux*spe*)
2500 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h powerpcspe/sysv4.h"
2501 extra_options="${extra_options} powerpcspe/sysv4.opt"
2502 tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-ppccomm"
2503 extra_objs="$extra_objs powerpcspe-linux.o"
2505 tm_file="${tm_file} powerpcspe/linux.h glibc-stdint.h"
2506 tmake_file="${tmake_file} powerpcspe/t-ppcos powerpcspe/t-linux"
2507 tm_file="${tm_file} powerpcspe/linuxspe.h powerpcspe/e500.h"
2510 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2511 extra_options="${extra_options} rs6000/sysv4.opt"
2512 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2513 extra_objs="$extra_objs rs6000-linux.o"
2516 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2518 case ${target}:${with_cpu} in
2519 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2521 maybe_biarch=${cpu_is_64bit}
2522 case ${enable_targets} in
2523 *powerpc64*) maybe_biarch=yes ;;
2524 all) maybe_biarch=yes ;;
2527 powerpc64*-*-linux*spe* | powerpc*-*-linux*paired*)
2528 echo "*** Configuration ${target} not supported" 1>&2
2531 powerpc*-*-linux*spe*)
2535 case ${target}:${enable_targets}:${maybe_biarch} in
2536 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2537 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2538 | powerpcle-*:*powerpc64le*:yes)
2539 if test x$cpu_is_64bit = xyes; then
2540 tm_file="${tm_file} rs6000/default64.h"
2542 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2543 tmake_file="$tmake_file rs6000/t-linux64"
2546 tmake_file="$tmake_file rs6000/t-linux64le"
2547 case ${enable_targets} in
2548 all | *powerpc64-* | *powerpc-*)
2549 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2552 case ${enable_targets} in
2553 all | *powerpc64le-* | *powerpcle-*)
2554 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2557 extra_options="${extra_options} rs6000/linux64.opt"
2560 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2561 extra_options="${extra_options} rs6000/linux64.opt"
2562 tmake_file="${tmake_file} rs6000/t-linux"
2565 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2566 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2570 powerpc*-*-linux*ppc476*)
2571 tm_file="${tm_file} rs6000/476.h"
2572 extra_options="${extra_options} rs6000/476.opt" ;;
2573 powerpc*-*-linux*altivec*)
2574 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2575 powerpc*-*-linux*spe*)
2576 tm_file="${tm_file} ${cpu_type}/linuxspe.h ${cpu_type}/e500.h" ;;
2580 enable_secureplt=yes ;;
2582 if test x${enable_secureplt} = xyes; then
2583 tm_file="rs6000/secureplt.h ${tm_file}"
2586 powerpc-wrs-vxworks*spe)
2587 tm_file="${tm_file} elfos.h freebsd-spec.h powerpcspe/sysv4.h"
2588 tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-ppccomm powerpcspe/t-vxworks"
2589 extra_options="${extra_options} powerpcspe/sysv4.opt"
2590 extra_headers=ppc-asm.h
2591 tm_file="${tm_file} vx-common.h vxworks.h powerpcspe/vxworks.h powerpcspe/e500.h"
2593 powerpc-wrs-vxworks*)
2594 tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
2595 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2596 extra_options="${extra_options} rs6000/sysv4.opt"
2597 extra_headers=ppc-asm.h
2600 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksmils.h"
2601 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2604 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
2605 tmake_file="${tmake_file} rs6000/t-vxworksae"
2608 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
2614 tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2615 tmake_file="t-lynx rs6000/t-lynx"
2616 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2622 tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2623 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2624 extra_options="${extra_options} rs6000/sysv4.opt"
2626 powerpcle-*-eabisim*)
2627 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/eabisim.h"
2628 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2629 extra_options="${extra_options} rs6000/sysv4.opt"
2633 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"
2634 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2635 extra_options="${extra_options} rs6000/sysv4.opt"
2638 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2639 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2640 tmake_file="rs6000/t-aix52 t-slibgcc"
2641 extra_options="${extra_options} rs6000/aix64.opt"
2645 extra_headers=altivec.h
2646 default_use_cxa_atexit=yes
2648 rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*)
2649 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2650 tmake_file="rs6000/t-aix52 t-slibgcc"
2651 extra_options="${extra_options} rs6000/aix64.opt"
2655 extra_headers="altivec.h amo.h"
2656 default_use_cxa_atexit=yes
2658 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2659 tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h"
2660 tmake_file="rs6000/t-aix52 t-slibgcc"
2661 extra_options="${extra_options} rs6000/aix64.opt"
2665 extra_headers="altivec.h amo.h"
2666 default_use_cxa_atexit=yes
2669 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2670 target_has_targetm_common=no
2671 c_target_objs="rl78-c.o"
2672 cxx_target_objs="rl78-c.o"
2673 tmake_file="${tmake_file} rl78/t-rl78"
2676 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2677 tmake_file="${tmake_file} rx/t-rx"
2680 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2681 c_target_objs="${c_target_objs} s390-c.o"
2682 cxx_target_objs="${cxx_target_objs} s390-c.o"
2683 if test x$enable_targets = xall; then
2684 tmake_file="${tmake_file} s390/t-linux64"
2686 tmake_file="${tmake_file} s390/t-s390"
2689 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2690 tm_p_file="linux-protos.h s390/s390-protos.h"
2691 c_target_objs="${c_target_objs} s390-c.o"
2692 cxx_target_objs="${cxx_target_objs} s390-c.o"
2693 md_file=s390/s390.md
2694 extra_modes=s390/s390-modes.def
2695 out_file=s390/s390.c
2696 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2699 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2700 tm_p_file=s390/s390-protos.h
2701 c_target_objs="${c_target_objs} s390-c.o"
2702 cxx_target_objs="${cxx_target_objs} s390-c.o"
2703 md_file=s390/s390.md
2704 extra_modes=s390/s390-modes.def
2705 out_file=s390/s390.c
2707 extra_options="${extra_options} s390/tpf.opt"
2708 tmake_file="${tmake_file} s390/t-s390"
2710 sh-*-elf* | sh[12346l]*-*-elf* | \
2711 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2712 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2713 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2714 if test x${with_endian} = x; then
2716 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2717 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2718 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2719 shl* | sh*-*-linux* | \
2720 sh-superh-elf) with_endian=little,big ;;
2721 sh[1234]*-*-*) with_endian=big ;;
2722 *) with_endian=big,little ;;
2725 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2726 # First word : the default endian.
2727 # Second word: the secondary endian (optional).
2728 case ${with_endian} in
2729 big) TM_ENDIAN_CONFIG=mb ;;
2730 little) TM_ENDIAN_CONFIG=ml ;;
2731 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2732 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2733 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2735 case ${with_endian} in
2736 little*) tm_file="sh/little.h ${tm_file}" ;;
2738 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2740 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2741 if test x$enable_fdpic = xyes; then
2742 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2744 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2746 tm_file="${tm_file} ${nbsd_tm_file} sh/netbsd-elf.h"
2747 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2750 sh*-superh-elf) if test x$with_libgloss != xno; then
2752 tm_file="${tm_file} sh/newlib.h"
2754 tm_file="${tm_file} sh/embed-elf.h"
2755 tm_file="${tm_file} sh/superh.h"
2756 extra_options="${extra_options} sh/superh.opt" ;;
2757 *) if test x$with_newlib = xyes \
2758 && test x$with_libgloss = xyes; then
2759 tm_file="${tm_file} sh/newlib.h"
2761 tm_file="${tm_file} sh/embed-elf.h" ;;
2767 tm_file="${tm_file} newlib-stdint.h"
2770 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2771 case `echo ${target} | sed 's/e[lb]-/-/'` in
2772 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2773 sh4a_single*) sh_cpu_target=sh4a-single ;;
2774 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2775 sh4al) sh_cpu_target=sh4al ;;
2776 sh4a*) sh_cpu_target=sh4a ;;
2777 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2778 sh4_single*) sh_cpu_target=sh4-single ;;
2779 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2780 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2781 sh3e*) sh_cpu_target=sh3e ;;
2782 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2783 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2784 sh2a_single*) sh_cpu_target=sh2a-single ;;
2785 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2786 sh2a*) sh_cpu_target=sh2a ;;
2787 sh2e*) sh_cpu_target=sh2e ;;
2788 sh2*) sh_cpu_target=sh2 ;;
2789 *) sh_cpu_target=sh1 ;;
2791 # did the user say --without-fp ?
2792 if test x$with_fp = xno; then
2793 case ${sh_cpu_target} in
2795 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2796 sh4*) sh_cpu_target=sh4-nofpu ;;
2797 sh3*) sh_cpu_target=sh3 ;;
2798 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2799 sh2*) sh_cpu_target=sh2 ;;
2800 *) echo --without-fp not available for $target: ignored
2802 tm_defines="$tm_defines STRICT_NOFPU=1"
2804 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2805 case $sh_cpu_default in
2806 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2807 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2808 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2809 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2810 "") sh_cpu_default=${sh_cpu_target} ;;
2811 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2813 sh_multilibs=${with_multilib_list}
2814 if test "$sh_multilibs" = "default" ; then
2816 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2817 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2818 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2819 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2820 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2822 if test x$with_fp = xno; then
2823 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`"
2826 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2827 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2828 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2829 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2830 for sh_multilib in ${sh_multilibs}; do
2831 case ${sh_multilib} in
2832 m1 | m2 | m2e | m3 | m3e | \
2833 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2834 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2835 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2836 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2837 # It is passed to MULTIILIB_OPTIONS verbatim.
2838 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2839 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2841 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2842 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2843 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2845 echo "with_multilib_list=${sh_multilib} not supported."
2850 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2851 if test x${enable_incomplete_targets} = xyes ; then
2852 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
2854 tm_file="$tm_file ./sysroot-suffix.h"
2855 tmake_file="$tmake_file t-sysroot-suffix"
2858 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2859 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2862 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2863 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2866 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2869 tmake_file="sparc/t-sparc sparc/t-leon"
2872 tmake_file="sparc/t-sparc sparc/t-leon3"
2875 tmake_file="sparc/t-sparc sparc/t-elf"
2880 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
2881 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
2884 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
2885 extra_options="${extra_options} sparc/long-double-switch.opt"
2888 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
2891 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
2894 tmake_file="${tmake_file} sparc/t-sparc"
2897 if test x$enable_targets = xall; then
2898 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
2899 tmake_file="${tmake_file} sparc/t-linux64"
2901 tm_file="${tm_file} sparc/linux.h"
2902 tmake_file="${tmake_file} sparc/t-linux"
2906 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h"
2907 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2908 extra_options="${extra_options} sparc/long-double-switch.opt"
2909 tmake_file="${tmake_file} sparc/t-sparc"
2912 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
2914 sparc64-*-* | sparcv9-*-*)
2915 tm_file="sparc/default64.h ${tm_file}"
2918 test x$with_cpu != x || with_cpu=v9
2921 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
2924 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
2925 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
2928 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
2929 extra_options="${extra_options}"
2930 tmake_file="${tmake_file} sparc/t-sparc"
2933 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
2934 extra_options="${extra_options}"
2935 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
2938 tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
2939 extra_options="${extra_options} sparc/long-double-switch.opt"
2940 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
2942 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
2943 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
2944 extra_options="${extra_options} sparc/long-double-switch.opt"
2945 case "x$with_cpu" in
2947 x) with_cpu=ultrasparc ;;
2948 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
2950 tmake_file="${tmake_file} sparc/t-sparc"
2953 tm_file="sparc/biarch64.h ${tm_file}"
2954 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h"
2955 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2956 extra_options="${extra_options} sparc/long-double-switch.opt"
2957 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
2960 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
2961 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
2962 extra_options="${extra_options} openbsd.opt"
2963 extra_options="${extra_options}"
2966 tmake_file="${tmake_file} sparc/t-sparc"
2969 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
2970 tmake_file="spu/t-spu-elf"
2971 native_system_header_dir=/include
2972 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
2973 extra_modes=spu/spu-modes.def
2974 c_target_objs="${c_target_objs} spu-c.o"
2975 cxx_target_objs="${cxx_target_objs} spu-c.o"
2978 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
2979 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
2980 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
2984 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
2985 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
2986 tm_file="${tm_file} ./sysroot-suffix.h"
2987 tmake_file="t-sysroot-suffix t-slibgcc"
2988 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
2992 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
2993 tmake_file="${tmake_file} tilegx/t-tilegx"
2994 extra_objs="${extra_objs} mul-tables.o"
2995 c_target_objs="${c_target_objs} tilegx-c.o"
2996 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
2997 extra_headers="feedback.h"
3000 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
3005 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
3006 tmake_file="${tmake_file} tilepro/t-tilepro"
3007 extra_objs="${extra_objs} mul-tables.o"
3008 c_target_objs="${c_target_objs} tilepro-c.o"
3009 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
3010 extra_headers="feedback.h"
3013 target_cpu_default="TARGET_CPU_generic"
3014 tm_file="dbxelf.h elfos.h v850/v850.h"
3015 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
3016 tmake_file="${tmake_file} v850/t-v850"
3017 tmake_file="${tmake_file} v850/t-rtems"
3019 c_target_objs="v850-c.o"
3020 cxx_target_objs="v850-c.o"
3025 target_cpu_default="TARGET_CPU_v850e3v5"
3028 target_cpu_default="TARGET_CPU_v850e2v3"
3031 target_cpu_default="TARGET_CPU_v850e2"
3033 v850e1-*-* | v850es-*-*)
3034 target_cpu_default="TARGET_CPU_v850e1"
3037 target_cpu_default="TARGET_CPU_v850e"
3040 target_cpu_default="TARGET_CPU_generic"
3043 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
3044 if test x$stabs = xyes
3046 tm_file="${tm_file} dbx.h"
3049 c_target_objs="v850-c.o"
3050 cxx_target_objs="v850-c.o"
3054 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
3055 extra_options="${extra_options} vax/elf.opt"
3058 tm_file="${tm_file} elfos.h ${nbsd_tm_file} vax/elf.h vax/netbsd-elf.h"
3059 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
3060 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1"
3063 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
3064 extra_options="${extra_options} openbsd.opt"
3068 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
3069 tmake_file="visium/t-visium visium/t-crtstuff"
3072 # For historical reasons, the target files omit the 'x'.
3073 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
3074 tm_p_file=stormy16/stormy16-protos.h
3075 md_file=stormy16/stormy16.md
3076 out_file=stormy16/stormy16.c
3077 extra_options=stormy16/stormy16.opt
3078 tmake_file="stormy16/t-stormy16"
3081 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
3082 extra_options="${extra_options} xtensa/elf.opt"
3085 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
3086 tmake_file="${tmake_file} xtensa/t-xtensa"
3089 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
3090 tmake_file="${tmake_file} xtensa/t-xtensa"
3091 extra_options="${extra_options} xtensa/uclinux.opt"
3094 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
3099 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
3100 c_target_objs="m32c-pragma.o"
3101 cxx_target_objs="m32c-pragma.o"
3104 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
3105 c_target_objs="m32c-pragma.o"
3106 cxx_target_objs="m32c-pragma.o"
3109 echo "*** Configuration ${target} not supported" 1>&2
3115 i[34567]86-*-linux* | x86_64-*-linux*)
3116 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
3118 i[34567]86-*-* | x86_64-*-*)
3119 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3121 powerpc*-*-* | rs6000-*-*)
3122 tm_file="${tm_file} ${cpu_type}/option-defaults.h"
3128 tmake_file="${tmake_file} t-musl"
3131 tmake_file="${tmake_file} t-uclibc"
3135 # Assume the existence of indirect function support and allow the use of the
3136 # resolver attribute.
3138 *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*)
3142 aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*)
3143 default_gnu_indirect_function=yes
3149 # Build mkoffload tool
3151 *-intelmic-* | *-intelmicemul-*)
3152 tmake_file="${tmake_file} i386/t-intelmic"
3153 tm_file="${tm_file} i386/intelmic-offload.h"
3157 if [ "$target_has_targetcm" = "no" ]; then
3158 c_target_objs="$c_target_objs default-c.o"
3159 cxx_target_objs="$cxx_target_objs default-c.o"
3162 if [ "$common_out_file" = "" ]; then
3163 if [ "$target_has_targetm_common" = "yes" ]; then
3164 common_out_file="$cpu_type/$cpu_type-common.c"
3166 common_out_file="default-common.c"
3170 # Support for --with-cpu and related options (and a few unrelated options,
3174 echo "--with-cpu must be passed a value" 1>&2
3179 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3180 # to generic if there is no processor scheduler model for the target.
3183 arch_without_sse2=no
3184 arch_without_64bit=no
3187 if test $fbsd_major -ge 6; then
3193 arch_without_sse2=yes
3194 arch_without_64bit=yes
3199 arch_without_sse2=yes
3200 arch_without_64bit=yes
3205 arch_without_sse2=yes
3206 arch_without_64bit=yes
3211 arch_without_sse2=yes
3212 arch_without_64bit=yes
3215 arch_without_sse2=yes
3216 arch_without_64bit=yes
3217 case ${target_noncanonical} in
3230 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3240 i686-*-* | i786-*-*)
3241 case ${target_noncanonical} in
3270 amdfam10-*|barcelona-*)
3274 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3278 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3282 athlon_xp-*|athlon_mp-*|athlon_4-*)
3285 arch_without_sse2=yes
3286 arch_without_64bit=yes
3288 athlon_tbird-*|athlon-*)
3291 arch_without_sse2=yes
3296 arch_without_sse2=yes
3301 arch_without_sse2=yes
3303 pentium3-*|pentium3m-*)
3306 arch_without_sse2=yes
3308 pentium4-*|pentium4m-*)
3347 arch_without_sse2=yes
3352 arch_without_sse2=yes
3353 arch_without_64bit=yes
3358 case ${target_noncanonical} in
3387 amdfam10-*|barcelona-*)
3391 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3395 k8-*|opteron-*|athlon_64-*)
3427 # If there is no $with_cpu option, try to infer one from ${target}.
3428 # This block sets nothing except for with_cpu.
3429 if test x$with_cpu = x ; then
3431 i[34567]86-*-elfiamcu)
3434 i[34567]86-*-*|x86_64-*-*)
3452 frv-*-*linux* | frv400-*-*linux*)
3459 case "$with_arch" in
3461 with_cpu=${default_cf_cpu}
3464 with_cpu=m${default_m68k_cpu}
3469 # For SPE, start with 8540, then upgrade to 8548 if
3470 # --enable-e500-double was requested explicitly or if we were
3471 # configured for e500v2.
3473 if test x$enable_e500_double = xyes; then
3476 case ${target_noncanonical} in
3494 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3503 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3505 i[34567]86-*-*|x86_64-*-*)
3506 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3507 if test x$with_cpu_32 = x; then
3508 with_cpu_32=$with_cpu
3510 if test x$with_cpu_64 = x; then
3511 with_cpu_64=$with_cpu
3519 # Support for --with-arch and related options (and a few unrelated options,
3521 case ${with_arch} in
3523 echo "--with-arch must be passed a value" 1>&2
3528 # If there is no $with_arch option, try to infer one from ${target}.
3529 # This block sets nothing except for with_arch.
3530 if test x$with_arch = x ; then
3532 i[34567]86-*-darwin*|x86_64-*-darwin*)
3533 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3534 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3536 i[34567]86-*-elfiamcu)
3540 # --with-fpmath sets the default ISA to SSE2, which is the same
3541 # ISA supported by Pentium 4.
3542 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3551 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3559 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3561 i[34567]86-*-darwin*|x86_64-*-darwin*)
3562 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3563 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3565 i[34567]86-*-*|x86_64-*-*)
3566 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3567 if test x$with_arch_32 = x; then
3568 with_arch_32=$with_arch
3570 if test x$with_arch_64 = x; then
3571 if test $arch_without_64bit = yes; then
3572 # Set the default 64bit arch to x86-64 if the default arch
3573 # doesn't support 64bit.
3576 with_arch_64=$with_arch
3580 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3581 # Set the default 64bit arch to x86-64 if the default arch
3582 # doesn't support 64bit and we need 64bit ISA.
3583 with_arch_32=$with_arch
3591 # Infer a default setting for --with-float.
3592 if test x$with_float = x; then
3594 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3595 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3596 # comply with IEEE 754.
3602 # Infer a default setting for --with-fpu.
3603 if test x$with_fpu = x; then
3605 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3606 # The R5900 FPU only supports single precision.
3612 # Support --with-fpmath.
3613 if test x$with_fpmath != x; then
3615 i[34567]86-*-* | x86_64-*-*)
3616 case ${with_fpmath} in
3618 tm_file="${tm_file} i386/avxmath.h"
3621 tm_file="${tm_file} i386/ssemath.h"
3624 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3630 echo "--with-fpmath isn't supported for $target." 1>&2
3636 # Similarly for --with-schedule.
3637 if test x$with_schedule = x; then
3640 # Override default PA8000 scheduling model.
3641 with_schedule=7100LC
3646 # Infer a default setting for --with-llsc.
3647 if test x$with_llsc = x; then
3649 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3650 # The R5900 doesn't support LL(D) and SC(D).
3654 # The kernel emulates LL and SC where necessary.
3660 # Validate and mark as valid any --with options supported
3661 # by this target. In order to use a particular --with option
3662 # you must list it in supported_defaults; validating the value
3663 # is optional. This case statement should set nothing besides
3664 # supported_defaults.
3669 supported_defaults="abi cpu arch"
3670 for which in cpu arch; do
3672 eval "val=\$with_$which"
3673 base_val=`echo $val | sed -e 's/\+.*//'`
3674 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3676 if [ $which = arch ]; then
3677 def=aarch64-arches.def
3678 pattern=AARCH64_ARCH
3680 def=aarch64-cores.def
3681 pattern=AARCH64_CORE
3684 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3686 # Find the base CPU or ARCH id in aarch64-cores.def or
3687 # aarch64-arches.def
3688 if [ x"$base_val" = x ] \
3689 || grep "^$pattern(\"$base_val\"," \
3690 ${srcdir}/config/aarch64/$def \
3693 if [ $which = arch ]; then
3694 base_id=`grep "^$pattern(\"$base_val\"," \
3695 ${srcdir}/config/aarch64/$def | \
3696 sed -e 's/^[^,]*,[ ]*//' | \
3698 # Extract the architecture flags from aarch64-arches.def
3699 ext_mask=`grep "^$pattern(\"$base_val\"," \
3700 ${srcdir}/config/aarch64/$def | \
3704 base_id=`grep "^$pattern(\"$base_val\"," \
3705 ${srcdir}/config/aarch64/$def | \
3706 sed -e 's/^[^,]*,[ ]*//' | \
3710 while [ x"$ext_val" != x ]
3712 ext_val=`echo $ext_val | sed -e 's/\+//'`
3713 ext=`echo $ext_val | sed -e 's/\+.*//'`
3714 base_ext=`echo $ext | sed -e 's/^no//'`
3716 if [ x"$base_ext" = x ] \
3717 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3718 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3721 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3722 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3723 sed -e 's/^[^,]*,[ ]*//' | \
3725 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3726 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3727 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3728 sed -e 's/,.*$//' | \
3730 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3731 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3732 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \
3733 sed -e 's/,.*$//' | \
3737 if [ $ext = $base_ext ]; then
3739 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3741 # Removing extension
3742 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3747 echo "Unknown extension used in --with-$which=$val" 1>&2
3750 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3753 ext_mask="(("$ext_mask") << 6)"
3754 if [ x"$base_id" != x ]; then
3755 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3759 echo "Unknown $which used in --with-$which=$val" 1>&2
3766 supported_defaults="cpu tune"
3767 for which in cpu tune; do
3768 eval "val=\$with_$which"
3771 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3772 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3776 echo "Unknown CPU used in --with-$which=$val" 1>&2
3784 supported_defaults="cpu"
3786 if [ x"$with_cpu" = x ] \
3787 || grep "^ARC_CPU ($with_cpu," \
3788 ${srcdir}/config/arc/arc-cpus.def \
3793 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3799 supported_defaults="arch cpu float tune fpu abi mode tls"
3800 for which in cpu tune arch; do
3801 # See if it matches a supported value
3802 eval "val=\$with_$which"
3803 if [ x"$val" != x ]; then
3804 cpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \
3805 -v cmd="chk$which $val" \
3806 ${srcdir}/config/arm/arm-cpus.in`
3807 if [ "$cpu" = "error" ]; then
3808 echo "Unknown target in --with-$which=$val" 1>&2
3812 eval "target_${which}_cname=$new_val"
3813 echo "For $val real value is $new_val"
3818 case "$with_float" in
3820 | soft | hard | softfp)
3824 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3829 # see if --with-fpu matches any of the supported FPUs
3830 if [ x"$with_fpu" != x ] ; then
3831 fpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \
3832 -v cmd="chkfpu $with_fpu" \
3833 ${srcdir}/config/arm/arm-cpus.in`
3834 if [ "$fpu" = "error"]
3836 echo "Unknown target in --with-$which=$val" 1>&2
3843 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3847 echo "Unknown ABI used in --with-abi=$with_abi"
3852 case "$with_mode" in
3858 echo "Unknown mode used in --with-mode=$with_mode"
3869 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3874 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3875 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
3879 if test "x$with_cpu" != x && test "x$with_tune" != x; then
3880 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
3884 # Add extra multilibs
3885 if test "x$with_multilib_list" != x; then
3886 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
3887 if test "x${arm_multilibs}" != xdefault ; then
3888 for arm_multilib in ${arm_multilibs}; do
3889 case ${arm_multilib} in
3891 tmake_profile_file="arm/t-multilib"
3894 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
3901 if test "x${tmake_profile_file}" != x ; then
3902 # arm/t-aprofile and arm/t-rmprofile are only
3903 # designed to work without any with-cpu,
3904 # with-arch, with-mode, with-fpu or with-float
3906 if test "x$with_arch" != x \
3907 || test "x$with_cpu" != x \
3908 || test "x$with_float" != x \
3909 || test "x$with_fpu" != x \
3910 || test "x$with_mode" != x ; then
3911 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
3914 # But pass the default value for float-abi
3915 # through to the multilib selector
3917 tmake_file="${tmake_file} ${tmake_profile_file}"
3918 TM_MULTILIB_CONFIG="$with_multilib_list"
3921 target_cpu_cname=${target_cpu_cname:-arm6}
3922 with_cpu=${with_cpu:-$target_cpu_cname}
3926 supported_defaults=cpu
3931 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3937 fido-*-* | m68k*-*-*)
3938 supported_defaults="arch cpu"
3939 case "$with_arch" in
3941 m68k_arch_family="$with_arch"
3944 echo "Invalid --with-arch=$with_arch" 1>&2
3949 # We always have a $with_cpu setting here.
3951 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
3952 m68k_cpu_ident=$with_cpu
3955 m68k_cpu_ident=m68020
3956 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
3959 m68k_cpu_ident=m68020
3960 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
3963 # We need the C identifier rather than the string.
3964 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
3965 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
3966 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
3967 ${srcdir}/config/m68k/m68k-devices.def`
3968 if [ x"$m68k_cpu_ident" = x ] ; then
3969 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
3972 with_cpu="mcpu=$with_cpu"
3978 supported_defaults="arch schedule"
3980 case "$with_arch" in
3981 "" | 1.0 | 1.1 | 2.0)
3985 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
3990 case "$with_schedule" in
3991 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
3995 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
4001 i[34567]86-*-* | x86_64-*-*)
4002 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
4003 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4004 eval "val=\$with_$which"
4005 case " $x86_archs " in
4013 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
4022 if test x${val} != x; then
4023 case " $x86_64_archs " in
4028 # Allow $x86_cpus --with-cpu=/--with-tune=
4031 case " $x86_cpus " in
4036 echo "Unknown CPU given in --with-$which=$val." 1>&2
4042 echo "Unknown CPU given in --with-$which=$val." 1>&2
4055 supported_defaults="abi arch tune"
4058 riscv-* | riscv32*) xlen=32 ;;
4059 riscv64*) xlen=64 ;;
4060 *) echo "Unsupported RISC-V target ${target}" 1>&2; exit 1 ;;
4063 # Infer arch from --with-arch, --target, and --with-abi.
4064 case "${with_arch}" in
4065 rv32e* | rv32i* | rv32g* | rv64i* | rv64g*)
4069 # Infer XLEN, but otherwise assume GC.
4070 case "${with_abi}" in
4071 ilp32e) with_arch="rv32e" ;;
4072 ilp32 | ilp32f | ilp32d) with_arch="rv32gc" ;;
4073 lp64 | lp64f | lp64d) with_arch="rv64gc" ;;
4074 *) with_arch="rv${xlen}gc" ;;
4078 echo "--with-arch=${with_arch} is not supported. The argument must begin with rv32e, rv32i, rv32g, rv64i, or rv64g." 1>&2
4083 # Make sure --with-abi is valid. If it was not specified,
4084 # pick a default based on the ISA, preferring soft-float
4085 # unless the D extension is present.
4086 case "${with_abi}" in
4087 ilp32 | ilp32e | ilp32f | ilp32d | lp64 | lp64f | lp64d)
4090 case "${with_arch}" in
4091 rv32*d* | rv32g*) with_abi=ilp32d ;;
4092 rv32e*) with_abi=ilp32e ;;
4093 rv32*) with_abi=ilp32 ;;
4094 rv64*d* | rv64g*) with_abi=lp64d ;;
4095 rv64*) with_abi=lp64 ;;
4099 echo "--with-abi=${with_abi} is not supported" 1>&2
4104 # Make sure ABI and ISA are compatible.
4105 case "${with_abi},${with_arch}" in
4106 ilp32,rv32* | ilp32e,rv32e* \
4107 | ilp32f,rv32*f* | ilp32f,rv32g* \
4108 | ilp32d,rv32*d* | ilp32d,rv32g* \
4110 | lp64f,rv64*f* | lp64f,rv64g* \
4111 | lp64d,rv64*d* | lp64d,rv64g*)
4114 echo "--with-abi=${with_abi} is not supported for ISA ${with_arch}" 1>&2
4119 # Handle --with-multilib-list.
4120 if test "x${with_multilib_list}" != xdefault; then
4121 tm_file="${tm_file} riscv/withmultilib.h"
4122 tmake_file="${tmake_file} riscv/t-withmultilib"
4124 case ${with_multilib_list} in
4125 ilp32 | ilp32f | ilp32d \
4126 | lp64 | lp64f | lp64d )
4127 TM_MULTILIB_CONFIG="${with_arch},${with_multilib_list}"
4130 echo "--with-multilib-list=${with_multilib_list} not supported."
4134 # Define macros to select the default multilib.
4135 case ${with_arch} in
4137 tm_defines="${tm_defines} TARGET_MLIB_ARCH=1"
4140 tm_defines="${tm_defines} TARGET_MLIB_ARCH=2"
4143 echo "unsupported --with-arch for --with-multilib-list"
4148 tm_defines="${tm_defines} TARGET_MLIB_ABI=1"
4151 tm_defines="${tm_defines} TARGET_MLIB_ABI=2"
4154 tm_defines="${tm_defines} TARGET_MLIB_ABI=3"
4157 tm_defines="${tm_defines} TARGET_MLIB_ABI=4"
4160 tm_defines="${tm_defines} TARGET_MLIB_ABI=5"
4163 tm_defines="${tm_defines} TARGET_MLIB_ABI=6"
4166 echo "unsupported --with-abi for --with-multilib"
4173 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 lxc1-sxc1 madd4"
4175 case ${with_float} in
4180 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4186 "" | single | double)
4190 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
4200 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
4205 case ${with_fp_32} in
4210 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
4215 case ${with_odd_spreg_32} in
4217 with_odd_spreg_32="odd-spreg"
4220 with_odd_spreg_32="no-odd-spreg"
4226 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
4232 "" | 32 | o64 | n32 | 64 | eabi)
4236 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
4241 case ${with_divide} in
4242 "" | breaks | traps)
4246 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
4251 case ${with_llsc} in
4262 echo "Unknown llsc type used in --with-llsc" 1>&2
4267 case ${with_mips_plt} in
4272 with_mips_plt=no-plt
4277 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
4282 case ${with_synci} in
4292 echo "Unknown synci type used in --with-synci" 1>&2
4297 case ${with_lxc1_sxc1} in
4299 with_lxc1_sxc1=lxc1-sxc1
4302 with_lxc1_sxc1=no-lxc1-sxc1
4307 echo "Unknown lxc1-sxc1 type used in --with-lxc1-sxc1" 1>&2
4312 case ${with_madd4} in
4322 echo "Unknown madd4 type used in --with-madd4" 1>&2
4329 supported_defaults="arch cpu nds32_lib float fpu_config"
4331 # process --with-arch
4332 case "${with_arch}" in
4334 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4338 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4341 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=1"
4344 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=2"
4348 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v2j v3 v3m v3f v3s" 1>&2
4353 case "${with_cpu}" in
4357 n6 | n7 |n8 | e8 | s8 | n9 | n10 | d10 | n12 | n13 | n15)
4361 echo "Cannot accept --with-cpu=$with_cpu, available values are: n6 n7 n8 e8 s8 n9 n10 d10 n12 n13 n15" 1>&2
4366 # process --with-nds32-lib
4367 case "${with_nds32_lib}" in
4369 # the default library is newlib
4370 with_nds32_lib=newlib
4371 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4375 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4379 # for the arch=v3f or arch=v3s under mculib toolchain,
4380 # we would like to set -fno-math-errno as default
4381 case "${with_arch}" in
4383 tm_defines="${tm_defines} TARGET_DEFAULT_NO_MATH_ERRNO=1"
4389 tm_defines="${tm_defines} TARGET_DEFAULT_TLSDESC_TRAMPOLINE=1"
4394 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib glibc uclibc" 1>&2
4399 # process --with-float
4400 case "${with_float}" in
4405 echo "Cannot accept --with-float=$with_float, available values are: soft hard" 1>&2
4410 # process --with-config-fpu
4411 case "${with_config_fpu}" in
4416 echo "Cannot accept --with-config-fpu=$with_config_fpu, available values from 0 to 7" 1>&2
4424 supported_defaults="arch"
4425 case "$with_arch" in
4430 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4436 powerpc*-*-* | rs6000-*-*)
4437 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4439 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4440 eval "val=\$with_$which"
4442 default32 | default64)
4447 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4451 with_which="with_$which"
4455 tm_defines="${tm_defines} CONFIG_PPC405CR"
4456 eval "with_$which=405"
4458 "" | common | native \
4459 | power[3456789] | power5+ | power6x \
4460 | powerpc | powerpc64 | powerpc64le \
4462 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4463 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4464 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4465 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4466 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4470 echo "Unknown cpu used in --with-$which=$val." 1>&2
4477 "" | elfv1 | elfv2 )
4481 echo "Unknown ABI used in --with-abi=$with_abi"
4486 if test "x$with_advance_toolchain" != x; then
4487 if test -d "/opt/$with_advance_toolchain/." -a \
4488 -d "/opt/$with_advance_toolchain/bin/." -a \
4489 -d "/opt/$with_advance_toolchain/include/."; then
4491 tm_file="$tm_file ./advance-toolchain.h"
4492 (at="/opt/$with_advance_toolchain"
4493 echo "/* Use Advance Toolchain $at */"
4495 echo "#undef LINK_OS_EXTRA_SPEC32"
4496 echo "#define LINK_OS_EXTRA_SPEC32" \
4497 "\"%(link_os_new_dtags)" \
4498 "-rpath $prefix/lib -rpath $at/lib" \
4499 "-L $prefix/lib -L $at/lib\""
4501 echo "#undef LINK_OS_EXTRA_SPEC64"
4502 echo "#define LINK_OS_EXTRA_SPEC64" \
4503 "\"%(link_os_new_dtags)" \
4504 "-rpath $prefix/lib64 -rpath $at/lib64" \
4505 "-L $prefix/lib64 -L $at/lib64\""
4507 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4508 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4509 "\"--enable-new-dtags\""
4511 echo "#undef DYNAMIC_LINKER_PREFIX"
4512 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4514 echo "#undef MD_EXEC_PREFIX"
4515 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4517 echo "#undef MD_STARTFILE_PREFIX"
4518 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4519 > advance-toolchain.h
4521 echo "Unknown advance-toolchain $with_advance_toolchain"
4526 # Set up the default long double format if the user changed it.
4527 if test x$with_long_double_format = xieee; then
4528 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=1"
4530 elif test x$with_long_double_format = xibm; then
4531 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0"
4536 supported_defaults="arch mode tune"
4538 for which in arch tune; do
4539 eval "val=\$with_$which"
4541 "" | native | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12)
4545 echo "Unknown cpu used in --with-$which=$val." 1>&2
4551 case ${with_mode} in
4556 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4562 sh[123456ble]*-*-* | sh-*-*)
4563 supported_defaults="cpu"
4564 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4565 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4568 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4570 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4573 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4574 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4575 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4576 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4582 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4584 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4585 eval "val=\$with_$which"
4587 "" | sparc | sparcv9 | sparc64 \
4589 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4590 | sparclite | f930 | f934 | sparclite86x \
4591 | sparclet | tsc701 \
4592 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4593 | niagara3 | niagara4 | niagara7 | m8)
4597 echo "Unknown cpu used in --with-$which=$val" 1>&2
4603 case ${with_float} in
4608 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4615 supported_defaults="arch tune"
4617 for which in arch tune; do
4618 eval "val=\$with_$which"
4620 "" | cell | celledp)
4624 echo "Unknown cpu used in --with-$which=$val." 1>&2
4632 supported_defaults="arch"
4634 case ${with_arch} in
4635 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4639 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4646 supported_defaults=cpu
4648 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4652 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4658 supported_defaults="cpu"
4662 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4669 # Set some miscellaneous flags for particular targets.
4670 target_cpu_default2=
4673 if test x"$target_cpu_cname" != x
4675 target_cpu_default2=$target_cpu_cname
4680 if test x$with_cpu = x
4682 echo "Don't know the target cpu" 1>&2
4685 target_cpu_default2="\\\"$with_cpu\\\""
4690 if test x$gas = xyes
4692 target_cpu_default2="MASK_GAS"
4696 fido*-*-* | m68k*-*-*)
4697 target_cpu_default2=$m68k_cpu_ident
4698 tmake_file="m68k/t-opts $tmake_file"
4699 if [ x"$m68k_arch_family" != x ]; then
4700 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4704 i[34567]86-*-darwin* | x86_64-*-darwin*)
4706 i[34567]86-*-linux* | x86_64-*-linux*)
4707 extra_objs="${extra_objs} cet.o"
4708 tmake_file="$tmake_file i386/t-linux i386/t-cet"
4710 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4711 tmake_file="$tmake_file i386/t-kfreebsd"
4714 tmake_file="$tmake_file i386/t-gnu"
4716 i[34567]86-*-msdosdjgpp*)
4717 tmake_file="${tmake_file} i386/t-djgpp"
4719 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4721 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4723 i[34567]86-*-mingw* | x86_64-*-mingw*)
4725 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4727 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4733 if test x$gnu_ld = xyes
4735 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4739 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4742 if test x$with_arch != x; then
4743 default_mips_arch=$with_arch
4745 if test x$with_abi != x; then
4746 default_mips_abi=$with_abi
4748 case ${default_mips_arch} in
4749 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4750 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4751 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4752 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4753 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4754 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4755 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4756 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4757 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4758 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4760 case ${default_mips_abi} in
4761 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4762 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4763 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4764 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4765 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4767 tmake_file="mips/t-mips $tmake_file"
4770 powerpc*-*-* | rs6000-*-*)
4771 # FIXME: The PowerPC port uses the value set at compile time,
4772 # although it's only cosmetic.
4773 if test "x$with_cpu" != x
4775 target_cpu_default2="\\\"$with_cpu\\\""
4777 out_file="${cpu_type}/${cpu_type}.c"
4778 c_target_objs="${c_target_objs} ${cpu_type}-c.o"
4779 cxx_target_objs="${cxx_target_objs} ${cpu_type}-c.o"
4780 tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}"
4783 sh[123456ble]*-*-* | sh-*-*)
4784 c_target_objs="${c_target_objs} sh-c.o"
4785 cxx_target_objs="${cxx_target_objs} sh-c.o"
4789 # Some standard aliases.
4794 xsparcv9 | xsparc64)
4799 if test x$with_tune = x ; then
4810 # The SPARC port checks this value at compile-time.
4811 target_cpu_default2="TARGET_CPU_$with_cpu"
4815 case "x$with_cpu" in
4818 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4819 target_cpu_default2="TARGET_CPU_$with_cpu"
4822 target_cpu_default2="TARGET_CPU_v850e1"
4827 target_cpu_default2="TARGET_CPU_$with_cpu"
4832 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 lxc1-sxc1 madd4"
4833 for option in $all_defaults
4835 eval "val=\$with_"`echo $option | sed s/-/_/g`
4836 if test -n "$val"; then
4837 case " $supported_defaults " in
4841 echo "This target does not support --with-$option." 2>&1
4842 echo "Valid --with options are: $supported_defaults" 2>&1
4849 t="{ \"$option\", \"$val\" }"
4851 t="${t}, { \"$option\", \"$val\" }"
4858 configure_default_options="{ { NULL, NULL} }"
4860 configure_default_options="{ ${t} }"
4863 if test "$target_cpu_default2" != ""
4865 if test "$target_cpu_default" != ""
4867 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
4869 target_cpu_default=$target_cpu_default2
4874 i[34567]86-*-* | x86_64-*-*)
4875 if test x$enable_as_accelerator = xyes; then
4876 extra_programs="mkoffload\$(exeext)"