1 # GCC target-specific configuration file.
2 # Copyright (C) 1997-2019 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 # tm_d_file A list of headers with definitions of target hook
90 # macros for the D compiler.
92 # out_file The name of the machine description C support
93 # file, if different from "$cpu_type/$cpu_type.c".
95 # common_out_file The name of the source file for code shared between
96 # the compiler proper and the driver.
98 # md_file The name of the machine-description file, if
99 # different from "$cpu_type/$cpu_type.md".
101 # tmake_file A list of machine-description-specific
102 # makefile-fragments, if different from
103 # "$cpu_type/t-$cpu_type".
105 # extra_modes The name of the file containing a list of extra
106 # machine modes, if necessary and different from
107 # "$cpu_type/$cpu_type-modes.def".
109 # extra_objs List of extra objects that should be linked into
110 # the compiler proper (cc1, cc1obj, cc1plus)
111 # depending on target.
113 # extra_gcc_objs List of extra objects that should be linked into
114 # the compiler driver (gcc) depending on target.
116 # extra_headers List of used header files from the directory
117 # config/${cpu_type}.
119 # user_headers_inc_next_pre
120 # List of header file names of internal gcc header
121 # files, which should be prefixed by an include_next.
122 # user_headers_inc_next_post
123 # List of header file names of internal gcc header
124 # files, which should be postfixed by an include_next.
125 # use_gcc_tgmath If set, add tgmath.h to the list of used header
128 # use_gcc_stdint If "wrap", install a version of stdint.h that
129 # wraps the system's copy for hosted compilations;
130 # if "provide", provide a version of systems without
131 # such a system header; otherwise "none", do not
132 # provide such a header at all.
134 # extra_programs List of extra executables compiled for this target
135 # machine, used when linking.
137 # extra_options List of target-dependent .opt files.
139 # c_target_objs List of extra target-dependent objects that be
140 # linked into the C compiler only.
142 # cxx_target_objs List of extra target-dependent objects that be
143 # linked into the C++ compiler only.
145 # d_target_objs List of extra target-dependent objects that be
146 # linked into the D compiler only.
148 # fortran_target_objs List of extra target-dependent objects that be
149 # linked into the fortran compiler only.
151 # target_gtfiles List of extra source files with type information.
153 # xm_defines List of macros to define when compiling for the
156 # xm_file List of files to include when compiling for the
159 # use_collect2 Set to yes or no, depending on whether collect2
162 # target_cpu_default Set to override the default target model.
164 # gdb_needs_out_file_path
165 # Set to yes if gdb needs a dir command with
166 # `dirname $out_file`.
168 # thread_file Set to control which thread package to use.
170 # gas Set to yes or no depending on whether the target
171 # system normally uses GNU as.
173 # configure_default_options
174 # Set to an initializer for configure_default_options
175 # in configargs.h, based on --with-cpu et cetera.
177 # native_system_header_dir
178 # Where system header files are found for this
179 # target. This defaults to /usr/include. If
180 # the --with-sysroot configure option or the
181 # --sysroot command line option is used this
182 # will be relative to the sysroot.
183 # target_type_format_char
184 # The default character to be used for formatting
186 # .type symbol_name, ${t_t_f_c}<property>
189 # The following variables are used in each case-construct to build up the
190 # outgoing variables:
192 # gnu_ld Set to yes or no depending on whether the target
193 # system normally uses GNU ld.
195 # target_has_targetcm Set to yes or no depending on whether the target
196 # has its own definition of targetcm.
198 # target_has_targetm_common Set to yes or no depending on whether the
199 # target has its own definition of targetm_common.
201 # target_has_targetdm Set to yes or no depending on whether the target
202 # has its own definition of targetdm.
208 user_headers_inc_next_pre=
209 user_headers_inc_next_post=
220 target_has_targetcm=no
221 target_has_targetm_common=yes
222 target_has_targetdm=no
225 # Set this to force installation and use of collect2.
227 # Set this to override the default target model.
229 # Set this if gdb needs a dir command with `dirname $out_file`
230 gdb_needs_out_file_path=
231 # Set this to control which thread package will be used.
233 # Reinitialize these from the flag values every loop pass, since some
234 # configure entries modify them.
236 gnu_ld="$gnu_ld_flag"
237 default_use_cxa_atexit=no
238 default_gnu_indirect_function=no
241 native_system_header_dir=/usr/include
242 target_type_format_char='@'
244 # Don't carry these over build->host->target. Please.
248 # Obsolete configurations.
253 if test "x$enable_obsolete" != xyes; then
254 echo "*** Configuration ${target} is obsolete." >&2
255 echo "*** Specify --enable-obsolete to build it anyway." >&2
256 echo "*** Support will be REMOVED in the next major release of GCC," >&2
257 echo "*** unless a maintainer comes forward." >&2
262 # Unsupported targets list. Do not put an entry in this list unless
263 # it would otherwise be caught by a more permissive pattern. The list
264 # should be in alphabetical order.
266 # Avoid special cases that are not obsolete
275 | i[34567]86-go32-* \
276 | i[34567]86-*-go32* \
277 | m68k-*-uclinuxoldabi* \
278 | mips64orion*-*-rtems* \
280 | powerpc*-*-linux*paired* \
282 | sparc-hal-solaris2* \
284 | *-*-freebsd[12] | *-*-freebsd[1234].* \
285 | *-*-freebsd*aout* \
293 | *-*-solaris2.[0-9] \
294 | *-*-solaris2.[0-9].* \
298 echo "*** Configuration ${target} not supported" 1>&2
303 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
304 # updated in each machine entry. Also set default extra_headers for some
307 cpu_type=`echo ${target} | sed 's/-.*$//'`
312 tmake_file=m32c/t-m32c
313 target_has_targetm_common=no
317 extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
318 c_target_objs="aarch64-c.o"
319 cxx_target_objs="aarch64-c.o"
320 d_target_objs="aarch64-d.o"
321 extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o aarch64-speculation.o falkor-tag-collision-avoidance.o aarch64-bti-insert.o"
322 target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
323 target_has_targetm_common=yes
327 extra_options="${extra_options} g.opt"
338 c_target_objs="arc-c.o"
339 cxx_target_objs="arc-c.o"
340 extra_options="${extra_options} arc/arc-tables.opt g.opt"
341 extra_headers="arc-simd.h"
345 extra_objs="arm-builtins.o aarch-common.o"
346 extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h arm_cmse.h"
347 target_type_format_char='%'
348 c_target_objs="arm-c.o"
349 cxx_target_objs="arm-c.o"
350 d_target_objs="arm-d.o"
351 extra_options="${extra_options} arm/arm-tables.opt"
352 target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
356 c_target_objs="avr-c.o"
357 cxx_target_objs="avr-c.o"
366 extra_options="${extra_options} g.opt"
369 target_has_targetm_common=no
371 moxie*) cpu_type=moxie
372 target_has_targetm_common=no
376 extra_headers=math-68881.h
377 extra_options="${extra_options} m68k/m68k-tables.opt"
381 c_target_objs="i386-c.o"
382 cxx_target_objs="i386-c.o"
383 d_target_objs="i386-d.o"
384 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o"
385 extra_options="${extra_options} fused-madd.opt"
386 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
387 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
388 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
389 immintrin.h x86intrin.h avxintrin.h xopintrin.h
390 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
391 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
392 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
393 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
394 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
395 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
396 shaintrin.h clflushoptintrin.h xsavecintrin.h
397 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
398 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
399 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
400 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
401 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
402 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
403 gfniintrin.h cet.h avx512vbmi2intrin.h
404 avx512vbmi2vlintrin.h avx512vnniintrin.h
405 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
406 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
407 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
408 waitpkgintrin.h cldemoteintrin.h"
412 c_target_objs="i386-c.o"
413 cxx_target_objs="i386-c.o"
414 d_target_objs="i386-d.o"
415 extra_options="${extra_options} fused-madd.opt"
416 extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o"
417 extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
418 pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
419 nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
420 immintrin.h x86intrin.h avxintrin.h xopintrin.h
421 ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
422 lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
423 avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
424 rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
425 adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
426 avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
427 shaintrin.h clflushoptintrin.h xsavecintrin.h
428 xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
429 avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
430 avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
431 avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h
432 avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
433 clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
434 gfniintrin.h cet.h avx512vbmi2intrin.h
435 avx512vbmi2vlintrin.h avx512vnniintrin.h
436 avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
437 avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
438 pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
439 waitpkgintrin.h cldemoteintrin.h"
442 extra_headers=ia64intrin.h
443 extra_options="${extra_options} g.opt fused-madd.opt"
449 extra_options="${extra_options} g.opt"
453 extra_options="${extra_options} g.opt"
456 extra_headers=math-68881.h
457 extra_options="${extra_options} m68k/m68k-tables.opt"
461 extra_options="${extra_options} g.opt"
465 d_target_objs="mips-d.o"
466 extra_headers="loongson.h loongson-mmiintrin.h msa.h"
467 extra_objs="frame-header-opt.o"
468 extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
472 extra_headers="nds32_intrinsic.h nds32_isr.h nds32_init.inc"
475 extra_options="${extra_options} nds32/nds32-linux.opt"
478 extra_options="${extra_options} nds32/nds32-elf.opt"
483 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"
487 extra_options="${extra_options} g.opt"
497 extra_objs="rs6000-string.o rs6000-p8swap.o"
498 extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h"
499 extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h"
500 extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h"
501 extra_headers="${extra_headers} mmintrin.h x86intrin.h"
502 extra_headers="${extra_headers} pmmintrin.h tmmintrin.h smmintrin.h"
503 extra_headers="${extra_headers} ppu_intrinsics.h spu2vmx.h vec_types.h si2vmx.h"
504 extra_headers="${extra_headers} amo.h"
506 xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
510 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
514 extra_objs="riscv-builtins.o riscv-c.o"
515 d_target_objs="riscv-d.o"
518 extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
519 extra_objs="rs6000-string.o rs6000-p8swap.o"
523 c_target_objs="sparc-c.o"
524 cxx_target_objs="sparc-c.o"
525 d_target_objs="sparc-d.o"
526 extra_headers="visintrin.h"
533 d_target_objs="s390-d.o"
534 extra_options="${extra_options} fused-madd.opt"
535 extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
537 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
538 sh[123456789lbe]*-*-* | sh-*-*)
540 extra_options="${extra_options} fused-madd.opt"
541 extra_objs="${extra_objs} sh_treg_combine.o sh-mem.o sh_optimize_sett_clrt.o"
548 extra_headers="c6x_intrinsics.h"
549 extra_options="${extra_options} c6x/c6x-tables.opt"
552 extra_options="${extra_options} fused-madd.opt"
562 tm_file=${cpu_type}/${cpu_type}.h
563 tm_d_file=${cpu_type}/${cpu_type}.h
564 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
566 tm_p_file=${cpu_type}/${cpu_type}-protos.h
567 tm_d_file="${tm_d_file} ${cpu_type}/${cpu_type}-protos.h"
571 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
573 extra_modes=${cpu_type}/${cpu_type}-modes.def
575 if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
577 extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
582 tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
585 if test "x$with_multilib_list" = xilp32; then
586 tm_file="aarch64/biarchilp32.h ${tm_file}"
588 tm_file="aarch64/biarchlp64.h ${tm_file}"
592 tm_file="aarch64/biarchilp32.h ${tm_file}"
595 tm_file="aarch64/biarchlp64.h ${tm_file}"
598 echo "Unknown ABI used in --with-abi=$with_abi"
603 if test "x$with_abi" != x; then
604 echo "This target does not support --with-abi."
607 if test "x$enable_cld" = xyes; then
608 tm_defines="${tm_defines} USE_IX86_CLD=1"
610 if test "x$enable_frame_pointer" = xyes; then
611 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
617 if test "x$with_multilib_list" = xmx32; then
618 tm_file="i386/biarchx32.h ${tm_file}"
620 tm_file="i386/biarch64.h ${tm_file}"
624 tm_file="i386/biarch64.h ${tm_file}"
627 tm_file="i386/biarchx32.h ${tm_file}"
630 echo "Unknown ABI used in --with-abi=$with_abi"
633 if test "x$enable_cld" = xyes; then
634 tm_defines="${tm_defines} USE_IX86_CLD=1"
636 if test "x$enable_frame_pointer" = xyes; then
637 tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1"
641 tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h"
645 # On a.out targets, we need to use collect2.
652 # Common C libraries.
653 tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
655 # 32-bit x86 processors supported by --with-arch=. Each processor
656 # MUST be separated by exactly one space.
657 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
658 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
659 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
660 pentium4 pentium4m pentiumpro prescott lakemont"
662 # 64-bit x86 processors supported by --with-arch=. Each processor
663 # MUST be separated by exactly one space.
664 x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \
665 bdver3 bdver4 znver1 znver2 btver1 btver2 k8 k8-sse3 opteron \
666 opteron-sse3 nocona core2 corei7 corei7-avx core-avx-i core-avx2 atom \
667 slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \
668 silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \
669 skylake goldmont goldmont-plus tremont cascadelake x86-64 native"
671 # Additional x86 processors supported by --with-cpu=. Each processor
672 # MUST be separated by exactly one space.
673 x86_cpus="generic intel"
675 # Common parts for widely ported systems.
678 tmake_file="t-darwin ${cpu_type}/t-darwin"
679 tm_file="${tm_file} darwin.h"
682 tm_file="${tm_file} darwin9.h"
685 tm_file="${tm_file} darwin9.h darwin10.h"
687 *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
688 tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
691 tm_file="${tm_file} ${cpu_type}/darwin.h"
692 tm_p_file="${tm_p_file} darwin-protos.h"
693 target_gtfiles="\$(srcdir)/config/darwin.c"
694 extra_options="${extra_options} darwin.opt"
695 c_target_objs="${c_target_objs} darwin-c.o"
696 cxx_target_objs="${cxx_target_objs} darwin-c.o"
697 fortran_target_objs="darwin-f.o"
698 target_has_targetcm=yes
699 extra_objs="${extra_objs} darwin.o"
700 extra_gcc_objs="darwin-driver.o"
701 default_use_cxa_atexit=yes
703 case ${enable_threads} in
704 "" | yes | posix) thread_file='posix' ;;
710 tmake_file="t-slibgcc"
711 case ${enable_threads} in
716 # Let these non-posix thread selections fall through if requested
719 echo 'Unknown thread configuration for DragonFly BSD'
723 extra_options="$extra_options rpath.opt dragonfly.opt"
724 default_use_cxa_atexit=yes
728 # This is the generic ELF configuration of FreeBSD. Later
729 # machine-specific sections may refine and add to this
732 # Due to tm_file entry ordering issues that vary between cpu
733 # architectures, we only define fbsd_tm_file to allow the
734 # machine-specific section to dictate the final order of all
735 # entries of tm_file with the minor exception that components
736 # of the tm_file set here will always be of the form:
738 # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
740 # The machine-specific section should not tamper with this
741 # ordering but may order all other entries of tm_file as it
742 # pleases around the provided core setting.
745 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
746 if test "$fbsd_major" = ""; then
747 echo "Specify the major version number of the targeted FreeBSD release"
748 echo "like this: --target=amd64-unknown-freebsd10.1"
751 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
752 tmake_file="t-slibgcc"
753 case ${enable_threads} in
755 fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
761 echo 'Unknown thread configuration for FreeBSD'
765 fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
766 extra_options="$extra_options rpath.opt freebsd.opt"
771 default_use_cxa_atexit=yes;;
776 native_system_header_dir=/include
778 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
779 extra_options="$extra_options gnu-user.opt"
782 case ${enable_threads} in
783 "" | yes | posix) thread_file='posix' ;;
785 tmake_file="t-slibgcc"
787 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu)
790 native_system_header_dir=/include
793 # Linux C libraries selection switch: glibc / uclibc / bionic.
794 # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
797 tm_p_file="${tm_p_file} linux-protos.h"
798 tmake_file="${tmake_file} t-linux"
799 extra_objs="${extra_objs} linux.o"
800 extra_options="${extra_options} linux.opt"
805 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
808 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
811 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
814 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
817 # Assume that glibc or uClibc or Bionic are being used and so __cxa_atexit
819 default_use_cxa_atexit=yes
822 # Enable compilation for Android by default for *android* targets.
825 tm_defines="$tm_defines ANDROID_DEFAULT=1"
828 tm_defines="$tm_defines ANDROID_DEFAULT=0"
831 c_target_objs="${c_target_objs} glibc-c.o"
832 cxx_target_objs="${cxx_target_objs} glibc-c.o"
833 d_target_objs="${d_target_objs} glibc-d.o"
834 tmake_file="${tmake_file} t-glibc"
835 target_has_targetcm=yes
836 target_has_targetdm=yes
839 tm_p_file="${tm_p_file} netbsd-protos.h"
840 tmake_file="t-netbsd t-slibgcc"
841 extra_objs="${extra_objs} netbsd.o"
845 case ${enable_threads} in
846 "" | yes | posix) thread_file='posix' ;;
848 nbsd_tm_file="netbsd.h netbsd-stdint.h netbsd-elf.h"
849 default_use_cxa_atexit=yes
852 tmake_file="t-openbsd"
853 case ${enable_threads} in
859 *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
860 default_use_cxa_atexit=yes
867 default_use_cxa_atexit=yes
870 case ${enable_threads} in
871 "" | yes | rtems) thread_file='rtems' ;;
872 posix) thread_file='posix' ;;
875 echo 'Unknown thread configuration for RTEMS'
879 tmake_file="${tmake_file} t-rtems"
880 extra_options="${extra_options} rtems.opt"
881 default_use_cxa_atexit=yes
885 extra_options="$extra_options gnu-user.opt"
887 case ${enable_threads} in
888 "" | yes | posix) thread_file='posix' ;;
890 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
896 # i?86-*-solaris2* needs to insert headers between cpu default and
897 # Solaris 2 specific ones.
898 sol2_tm_file_head="dbxelf.h elfos.h ${cpu_type}/sysv4.h"
899 sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
900 sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
902 *-*-solaris2.1[1-9]*)
903 # __cxa_atexit was introduced in Solaris 11.4.
904 default_use_cxa_atexit=yes
908 if test x$gnu_ld = xyes; then
909 tm_file="usegld.h ${tm_file}"
911 if test x$gas = xyes; then
912 tm_file="usegas.h ${tm_file}"
914 tm_p_file="${tm_p_file} sol2-protos.h"
915 tmake_file="${tmake_file} t-sol2 t-slibgcc"
916 c_target_objs="${c_target_objs} sol2-c.o"
917 cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
918 d_target_objs="${d_target_objs} sol2-d.o"
919 extra_objs="${extra_objs} sol2.o sol2-stubs.o"
920 extra_options="${extra_options} sol2.opt"
921 case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
922 "":yes:* | yes:yes:* )
926 target_has_targetdm=yes
929 extra_options="${extra_options} vms/vms.opt"
931 tmake_file="vms/t-vms t-slibgcc"
933 target_gtfiles="$target_gtfiles \$(srcdir)/config/vms/vms.c"
934 tm_p_file="${tm_p_file} vms/vms-protos.h"
935 xm_file="vms/xm-vms.h"
936 c_target_objs="vms-c.o"
937 cxx_target_objs="vms-c.o"
938 fortran_target_objs="vms-f.o"
939 use_gcc_stdint=provide
940 tm_file="${tm_file} vms/vms-stdint.h"
941 if test x$gnu_ld != xyes; then
942 # Build wrappers for native case.
943 extra_programs="ld\$(exeext) ar\$(exeext)"
944 tmake_file="$tmake_file vms/t-vmsnative"
950 extra_options="${extra_options} vxworks.opt"
951 extra_objs="$extra_objs vxworks.o"
952 use_gcc_stdint=provide
953 tm_file="${tm_file} vxworks-stdint.h"
954 case ${enable_threads} in
956 "" | yes | vxworks) thread_file='vxworks' ;;
957 *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
961 tm_defines="$tm_defines TARGET_VXWORKS7=1"
966 tm_defines="$tm_defines TARGET_VXWORKS64=1"
971 # Assume that newlib is being used and so __cxa_atexit is provided.
972 default_use_cxa_atexit=yes
978 aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
979 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
980 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
981 tmake_file="${tmake_file} aarch64/t-aarch64"
987 tm_file="${tm_file} fuchsia.h"
990 tm_file="${tm_file} rtems.h aarch64/rtems.h"
995 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
998 aarch64_multilibs="${with_multilib_list}"
999 if test "$aarch64_multilibs" = "default"; then
1000 aarch64_multilibs="lp64,ilp32"
1002 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
1003 for aarch64_multilib in ${aarch64_multilibs}; do
1004 case ${aarch64_multilib} in
1006 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
1009 echo "--with-multilib-list=${aarch64_multilib} not supported."
1013 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1015 aarch64*-*-freebsd*)
1016 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}"
1017 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-freebsd.h"
1018 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd"
1019 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
1022 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
1023 tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
1024 tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
1025 tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
1028 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1031 aarch64_multilibs="${with_multilib_list}"
1032 if test "$aarch64_multilibs" = "default"; then
1033 # TODO: turn on ILP32 multilib build after its support is mature.
1034 # aarch64_multilibs="lp64,ilp32"
1035 aarch64_multilibs="lp64"
1037 aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
1038 for aarch64_multilib in ${aarch64_multilibs}; do
1039 case ${aarch64_multilib} in
1041 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
1044 echo "--with-multilib-list=${aarch64_multilib} not supported."
1048 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1051 tm_file="elfos.h ${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
1052 tmake_file="${tmake_file} alpha/t-linux alpha/t-alpha"
1053 extra_options="${extra_options} alpha/elf.opt"
1056 tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h"
1057 tmake_file="${tmake_file} alpha/t-alpha"
1058 extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
1062 tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
1063 tm_file="elfos.h alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h"
1064 tmake_file="${tmake_file} alpha/t-alpha"
1065 extra_options="${extra_options} openbsd.opt alpha/elf.opt"
1066 # default x-alpha is only appropriate for dec-osf.
1069 tm_file="${tm_file} vms/vms.h alpha/vms.h"
1070 tmake_file="${tmake_file} alpha/t-vms alpha/t-alpha"
1073 tm_file="arc/arc-arch.h dbxelf.h elfos.h newlib-stdint.h arc/elf.h ${tm_file}"
1074 tmake_file="arc/t-multilib arc/t-arc"
1075 extra_gcc_objs="driver-arc.o"
1076 if test "x$with_cpu" != x; then
1077 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1079 if test x${with_endian} = x; then
1081 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1082 *) with_endian=little ;;
1085 case ${with_endian} in
1087 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1089 case ${with_endian} in
1090 big*) tm_file="arc/big.h ${tm_file}"
1094 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}"
1095 tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc"
1096 extra_gcc_objs="driver-arc.o"
1097 if test "x$with_cpu" != x; then
1098 tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
1100 if test x${with_endian} = x; then
1102 arc*be-*-* | arc*eb-*-*) with_endian=big ;;
1103 *) with_endian=little ;;
1106 case ${with_endian} in
1108 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
1110 case ${with_endian} in
1111 big*) tm_file="arc/big.h ${tm_file}"
1114 arm-wrs-vxworks|arm-wrs-vxworks7)
1115 extra_options="${extra_options} arm/vxworks.opt"
1116 tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
1119 # VxWorks7 on ARM adheres to the ARM Base Platform ABI
1120 tmake_file="${tmake_file} arm/t-bpabi"
1121 tm_file="arm/bpabi.h ${tm_file}"
1122 # The BPABI long long divmod functions return a 128-bit value in
1124 need_64bit_hwint=yes
1125 default_use_cxa_atexit=yes
1129 tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
1130 target_cpu_cname="arm8"
1132 arm*-*-freebsd*) # ARM FreeBSD EABI
1133 tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
1136 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1139 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
1140 tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
1143 target_cpu_cname="arm1176jzf-s"
1144 if test $fbsd_major -ge 11; then
1145 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1149 target_cpu_cname="generic-armv7-a"
1150 tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
1153 target_cpu_cname="arm9"
1156 with_tls=${with_tls:-gnu}
1159 tm_file="dbxelf.h elfos.h ${nbsd_tm_file} arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
1160 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1161 tmake_file="${tmake_file} arm/t-arm"
1162 target_cpu_cname="strongarm"
1164 arm*-*-linux-*) # ARM GNU/Linux with ELF
1165 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"
1166 extra_options="${extra_options} linux-android.opt"
1169 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1172 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
1173 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h arm/arm.h"
1174 # Generation of floating-point instructions requires at least ARMv5te.
1175 if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then
1176 target_cpu_cname="arm10e"
1178 target_cpu_cname="arm10tdmi"
1180 # Define multilib configuration for arm-linux-androideabi.
1183 tmake_file="$tmake_file arm/t-linux-androideabi"
1186 # The EABI requires the use of __cxa_atexit.
1187 default_use_cxa_atexit=yes
1188 with_tls=${with_tls:-gnu}
1190 arm*-*-uclinux*eabi*) # ARM ucLinux
1191 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
1192 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi"
1193 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h arm/arm.h"
1194 target_cpu_cname="arm7tdmi"
1195 # The EABI requires the use of __cxa_atexit.
1196 default_use_cxa_atexit=yes
1199 tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1200 tm_file="${tm_file} newlib-stdint.h phoenix.h"
1201 tm_file="${tm_file} arm/aout.h arm/arm.h"
1202 tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
1203 target_cpu_cname="arm7tdmi"
1205 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
1208 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
1210 default_use_cxa_atexit=yes
1211 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
1212 tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
1213 target_cpu_cname="arm7tdmi"
1216 tm_file="$tm_file newlib-stdint.h"
1217 tmake_file="${tmake_file} arm/t-bpabi"
1221 tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h"
1222 tmake_file="${tmake_file} arm/t-bpabi arm/t-fuchsia"
1223 target_cpu_cname="generic-armv7-a"
1226 tm_file="${tm_file} rtems.h arm/rtems.h newlib-stdint.h"
1227 tmake_file="${tmake_file} arm/t-bpabi arm/t-rtems"
1230 tm_file="${tm_file} arm/symbian.h"
1231 # We do not include t-bpabi for Symbian OS because the system
1232 # provides its own implementation of the BPABI functions.
1233 tmake_file="${tmake_file} arm/t-symbian"
1234 target_cpu_cname="arm10tdmi"
1237 tm_file="${tm_file} arm/aout.h arm/arm.h"
1240 tm_file="elfos.h avr/elf.h avr/avr-arch.h avr/avr.h avr/specs.h dbxelf.h avr/avr-stdint.h"
1241 if test x${with_avrlibc} != xno; then
1242 tm_file="${tm_file} ${cpu_type}/avrlibc.h"
1243 tm_defines="${tm_defines} WITH_AVRLIBC"
1245 tmake_file="${tmake_file} avr/t-avr avr/t-multilib"
1247 extra_gcc_objs="driver-avr.o avr-devices.o"
1248 extra_objs="avr-devices.o avr-log.o"
1251 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1252 tmake_file=bfin/t-bfin-elf
1256 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/uclinux.h"
1257 tmake_file=bfin/t-bfin-uclinux
1260 bfin*-linux-uclibc*)
1261 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"
1262 tmake_file="${tmake_file} bfin/t-bfin-linux"
1266 tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h"
1267 tmake_file="${tmake_file} bfin/t-rtems"
1270 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h bfin/elf.h"
1275 tm_file="elfos.h ${tm_file} newlib-stdint.h"
1276 tmake_file="${tmake_file} cr16/t-cr16 "
1279 crisv32-*-elf | crisv32-*-none)
1280 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1281 tmake_file="cris/t-cris"
1282 target_cpu_default=32
1284 extra_options="${extra_options} cris/elf.opt"
1287 cris-*-elf | cris-*-none)
1288 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1289 tmake_file="cris/t-cris cris/t-elfmulti"
1291 extra_options="${extra_options} cris/elf.opt"
1294 crisv32-*-linux* | cris-*-linux*)
1295 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h cris/linux.h"
1296 tmake_file="${tmake_file} cris/t-cris cris/t-linux"
1297 extra_options="${extra_options} cris/linux.opt"
1300 target_cpu_default=10
1303 target_cpu_default=32
1308 if test x${with_endian} != x; then
1309 case ${with_endian} in
1312 echo "with_endian=${with_endian} not supported."
1317 if test x${with_float} != x; then
1318 case ${with_float} in
1321 "Unknown floating point type used in --with-float=$with_float"
1326 tm_file="csky/csky.h"
1327 md_file="csky/csky.md"
1328 out_file="csky/csky.c"
1329 tm_p_file="${tm_p_file} csky/csky-protos.h"
1330 extra_options="${extra_options} csky/csky_tables.opt"
1332 if test x${enable_tpf_debug} = xyes; then
1333 tm_defines="${tm_defines} ENABLE_TPF_DEBUG"
1338 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} csky/csky-elf.h"
1339 tmake_file="csky/t-csky csky/t-csky-elf"
1340 default_use_cxa_atexit=no
1343 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} csky/csky-linux-elf.h"
1344 tmake_file="${tmake_file} csky/t-csky csky/t-csky-linux"
1346 if test "x${enable_multilib}" = xyes ; then
1347 tm_file="$tm_file ./sysroot-suffix.h"
1348 tmake_file="${tmake_file} csky/t-sysroot-suffix"
1353 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
1354 # Force .init_array support. The configure script cannot always
1355 # automatically detect that GAS supports it, yet we require it.
1356 gcc_cv_initfini_array=yes
1358 csky-*-linux-uclibc*)
1359 tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
1360 default_use_cxa_atexit=no
1363 echo "Unknown target $target"
1369 echo "Unknown target $target"
1374 epiphany-*-elf | epiphany-*-rtems*)
1375 tm_file="${tm_file} dbxelf.h elfos.h"
1376 tmake_file="${tmake_file} epiphany/t-epiphany"
1379 tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h"
1382 tm_file="${tm_file} newlib-stdint.h"
1385 extra_options="${extra_options} fused-madd.opt"
1386 extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o"
1387 tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
1388 extra_headers="epiphany_intrinsics.h"
1391 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1394 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1395 tmake_file=frv/t-frv
1398 tm_file="dbxelf.h elfos.h ${tm_file} \
1399 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
1400 tmake_file="${tmake_file} frv/t-frv frv/t-linux"
1405 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1406 tmake_file="${tmake_file} ft32/t-ft32"
1409 tm_file="elfos.h gcn/gcn-hsa.h gcn/gcn.h newlib-stdint.h"
1410 tmake_file="gcn/t-gcn-hsa"
1411 native_system_header_dir=/include
1412 extra_modes=gcn/gcn-modes.def
1413 extra_objs="${extra_objs} gcn-tree.o"
1414 extra_gcc_objs="driver-gcn.o"
1416 x86_64*-*-linux-gnu )
1417 if test "$ac_cv_search_dlopen" != no; then
1418 extra_programs="${extra_programs} gcn-run\$(exeext)"
1422 if test x$enable_as_accelerator = xyes; then
1423 extra_programs="${extra_programs} mkoffload\$(exeext)"
1424 tm_file="${tm_file} gcn/offload.h"
1430 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
1431 tmake_file="${tmake_file} moxie/t-moxie"
1436 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h moxie/uclinux.h"
1437 tmake_file="${tmake_file} moxie/t-moxie"
1440 tmake_file="${tmake_file} moxie/t-moxie"
1441 tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h"
1446 tm_file="${tm_file} dbxelf.h elfos.h moxie/moxiebox.h newlib-stdint.h"
1447 tmake_file="${tmake_file} moxie/t-moxiebox"
1450 tmake_file="h8300/t-h8300"
1451 tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
1454 tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
1455 tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
1458 target_cpu_default="MASK_PA_11|MASK_PA_20"
1459 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
1460 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
1462 tmake_file="${tmake_file} pa/t-pa pa/t-linux"
1463 d_target_objs="${d_target_objs} pa-d.o"
1467 target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS|MASK_CALLER_COPIES"
1468 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
1469 pa/pa32-regs.h pa/pa32-linux.h"
1470 tmake_file="${tmake_file} pa/t-pa pa/t-linux"
1471 d_target_objs="${d_target_objs} pa-d.o"
1474 target_cpu_default="MASK_PA_11"
1475 tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h \
1476 pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h"
1477 extra_options="${extra_options} openbsd.opt"
1478 tmake_file="pa/t-pa"
1479 d_target_objs="${d_target_objs} pa-d.o"
1483 hppa[12]*-*-hpux10*)
1485 hppa1.1-*-* | hppa2*-*-*)
1486 target_cpu_default="MASK_PA_11"
1489 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1490 pa/pa-hpux.h pa/pa-hpux10.h"
1491 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
1494 tm_file="${tm_file} pa/pa-hpux1010.h"
1495 extra_options="${extra_options} pa/pa-hpux1010.opt"
1498 use_gcc_stdint=provide
1499 tm_file="${tm_file} hpux-stdint.h"
1500 tmake_file="pa/t-pa t-slibgcc"
1501 d_target_objs="${d_target_objs} pa-d.o"
1502 case ${enable_threads} in
1504 if test x$have_pthread_h = xyes ; then
1505 tmake_file="${tmake_file} pa/t-dce-thr"
1509 tmake_file="${tmake_file} pa/t-dce-thr"
1514 if test "x$with_dwarf2" != x; then
1515 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1520 target_cpu_default="MASK_PA_11|MASK_PA_20"
1521 if test x$gnu_ld = xyes
1523 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1525 tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
1526 pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
1530 tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
1531 extra_options="${extra_options} pa/pa-hpux1111.opt"
1534 tm_file="${tm_file} pa/pa-hpux1131.h pa/pa-64.h pa/pa64-hpux.h"
1535 extra_options="${extra_options} pa/pa-hpux1131.opt"
1538 tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
1541 extra_options="${extra_options} pa/pa-hpux.opt \
1542 pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
1543 tmake_file="pa/t-pa t-slibgcc"
1544 d_target_objs="${d_target_objs} pa-d.o"
1545 case x${enable_threads} in
1553 use_gcc_stdint=provide
1554 tm_file="${tm_file} hpux-stdint.h"
1558 tm_file="${tm_file} hpux-stdint.h"
1562 hppa[12]*-*-hpux11*)
1564 hppa1.1-*-* | hppa2*-*-*)
1565 target_cpu_default="MASK_PA_11"
1568 tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
1569 pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
1570 extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt \
1574 tm_file="${tm_file} pa/pa-hpux1111.h"
1575 extra_options="${extra_options} pa/pa-hpux1111.opt"
1578 tm_file="${tm_file} pa/pa-hpux1131.h"
1579 extra_options="${extra_options} pa/pa-hpux1131.opt"
1582 tmake_file="pa/t-pa t-slibgcc"
1583 d_target_objs="${d_target_objs} pa-d.o"
1584 case x${enable_threads} in
1593 use_gcc_stdint=provide
1594 tm_file="${tm_file} hpux-stdint.h"
1598 tm_file="${tm_file} hpux-stdint.h"
1601 if test "x$with_dwarf2" != x; then
1602 echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2
1606 i[34567]86-*-darwin*)
1608 # Baseline choice for a machine that allows m64 support.
1609 with_cpu=${with_cpu:-core2}
1610 tmake_file="${tmake_file} t-slibgcc"
1613 with_cpu=${with_cpu:-core2}
1614 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
1615 tm_file="${tm_file} ${cpu_type}/darwin64.h"
1617 i[34567]86-*-elfiamcu)
1618 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
1621 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
1624 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
1627 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"
1630 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
1633 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"
1634 tmake_file="i386/t-i386elf t-svr4"
1636 i[34567]86-*-dragonfly*)
1637 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h dragonfly.h dragonfly-stdint.h i386/dragonfly.h"
1638 tmake_file="${tmake_file} i386/t-crtstuff"
1640 x86_64-*-dragonfly*)
1641 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"
1642 tmake_file="${tmake_file} i386/t-crtstuff"
1644 i[34567]86-*-freebsd*)
1645 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
1648 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"
1650 i[34567]86-*-netbsdelf*)
1651 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/netbsd-elf.h"
1652 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1655 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${nbsd_tm_file} i386/x86-64.h i386/netbsd64.h"
1656 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
1658 i[34567]86-*-openbsd*)
1659 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1660 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/openbsdelf.h"
1661 extra_options="${extra_options} openbsd.opt"
1666 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
1667 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h i386/x86-64.h i386/openbsdelf.h"
1668 extra_options="${extra_options} openbsd.opt"
1672 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
1673 # Intel 80386's running GNU/*
1674 # with ELF format using glibc 2
1675 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h"
1677 i[34567]86-*-linux*)
1678 tm_file="${tm_file} linux.h linux-android.h"
1679 extra_options="${extra_options} linux-android.opt"
1680 if test x$enable_targets = xall; then
1681 tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
1682 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1683 tmake_file="${tmake_file} i386/t-linux64"
1684 x86_multilibs="${with_multilib_list}"
1685 if test "$x86_multilibs" = "default"; then
1686 x86_multilibs="m64,m32"
1688 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1689 for x86_multilib in ${x86_multilibs}; do
1690 case ${x86_multilib} in
1692 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1695 echo "--with-multilib-list=${x86_with_multilib} not supported."
1699 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1701 if test x$with_cpu = x; then
1702 if test x$with_cpu_64 = x; then
1706 case " $x86_cpus $x86_archs $x86_64_archs " in
1710 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1711 echo "$x86_cpus $x86_archs $x86_64_archs " 1>&2
1717 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h i386/linux-common.h i386/linux.h"
1720 i[34567]86-*-kfreebsd*-gnu)
1721 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
1723 i[34567]86-*-kopensolaris*-gnu)
1724 tm_file="${tm_file} i386/gnu-user-common.h i386/gnu-user.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
1727 tm_file="$tm_file i386/gnu-user-common.h i386/gnu-user.h gnu.h i386/gnu.h"
1731 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
1732 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
1733 i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
1736 tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
1737 extra_options="${extra_options} linux-android.opt"
1739 x86_64-*-kfreebsd*-gnu)
1740 tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
1743 tmake_file="${tmake_file} i386/t-linux64"
1744 x86_multilibs="${with_multilib_list}"
1745 if test "$x86_multilibs" = "default"; then
1748 x86_multilibs="mx32"
1751 x86_multilibs="m64,m32"
1755 x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'`
1756 for x86_multilib in ${x86_multilibs}; do
1757 case ${x86_multilib} in
1759 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}"
1762 echo "--with-multilib-list=${x86_with_multilib} not supported."
1766 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
1768 i[34567]86-pc-msdosdjgpp*)
1769 xm_file=i386/xm-djgpp.h
1770 tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
1771 native_system_header_dir=/dev/env/DJDIR/include
1772 extra_options="${extra_options} i386/djgpp.opt"
1777 i[34567]86-*-lynxos*)
1779 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
1780 tmake_file="${tmake_file} t-lynx"
1781 extra_options="${extra_options} lynx.opt"
1786 i[34567]86-*-nto-qnx*)
1787 tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
1788 extra_options="${extra_options} i386/nto.opt"
1792 i[34567]86-*-rtems*)
1793 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"
1794 tmake_file="${tmake_file} i386/t-rtems"
1796 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
1797 # Set default arch_32 to pentium4, tune_32 to generic like the other
1798 # i386 targets, although config.guess defaults to i386-pc-solaris2*.
1799 with_arch_32=${with_arch_32:-pentium4}
1800 with_tune_32=${with_tune_32:-generic}
1801 tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file_head} i386/x86-64.h ${sol2_tm_file_tail}"
1802 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1803 tmake_file="$tmake_file i386/t-sol2"
1805 if test x$with_cpu = x; then
1806 if test x$with_cpu_64 = x; then
1810 case " $x86_cpus $x86_archs $x86_64_archs " in
1814 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1815 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1821 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae|i[4567]86-wrs-vxworks7|x86_64-wrs-vxworks7)
1822 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h"
1826 tm_file="${tm_file} i386/x86-64.h"
1829 tm_file="${tm_file} vx-common.h"
1832 tm_file="${tm_file} vxworksae.h i386/vxworks.h i386/vxworksae.h"
1833 tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
1836 tm_file="${tm_file} vxworks.h i386/vxworks.h"
1837 tmake_file="${tmake_file} i386/t-vxworks"
1841 i[34567]86-*-cygwin*)
1842 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"
1843 xm_file=i386/xm-cygwin.h
1844 tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
1845 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1846 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1847 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1848 c_target_objs="${c_target_objs} msformat-c.o"
1849 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1850 if test x$enable_threads = xyes; then
1853 default_use_cxa_atexit=yes
1858 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"
1859 xm_file=i386/xm-cygwin.h
1860 tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
1861 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1862 extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
1863 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1864 c_target_objs="${c_target_objs} msformat-c.o"
1865 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1866 if test x$enable_threads = xyes; then
1869 default_use_cxa_atexit=yes
1871 tm_defines="${tm_defines} TARGET_CYGWIN64=1"
1873 i[34567]86-*-mingw* | x86_64-*-mingw*)
1874 tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h"
1875 xm_file=i386/xm-mingw32.h
1876 c_target_objs="${c_target_objs} winnt-c.o"
1877 cxx_target_objs="${cxx_target_objs} winnt-c.o"
1878 target_has_targetcm="yes"
1880 x86_64-*-* | *-w64-*)
1886 if test x$enable_threads = xposix ; then
1887 tm_file="${tm_file} i386/mingw-pthread.h"
1889 tm_file="${tm_file} i386/mingw32.h"
1890 # This makes the logic if mingw's or the w64 feature set has to be used
1893 user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
1894 user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
1895 tm_file="${tm_file} i386/mingw-w64.h"
1896 if test x$enable_targets = xall; then
1897 tm_defines="${tm_defines} TARGET_BI_ARCH=1"
1898 if test x$with_cpu = x; then
1899 if test x$with_cpu_64 = x; then
1903 case " $x86_cpus $x86_archs $x86_64_archs " in
1907 echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
1908 echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
1918 tm_file="${tm_file} i386/mingw-stdint.h"
1919 tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
1922 tmake_file="${tmake_file} i386/t-mingw-w64"
1925 tmake_file="${tmake_file} i386/t-mingw-w32"
1928 native_system_header_dir=/mingw/include
1929 target_gtfiles="\$(srcdir)/config/i386/winnt.c"
1930 extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
1933 extra_options="${extra_options} i386/mingw-w64.opt"
1938 extra_objs="${extra_objs} winnt.o winnt-stubs.o"
1939 c_target_objs="${c_target_objs} msformat-c.o"
1940 cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
1943 default_use_cxa_atexit=yes
1945 case ${enable_threads} in
1955 tm_file="${tm_file} i386/crtdll.h"
1957 *mingw32msv* | *mingw*)
1962 tmake_file="${tmake_file} i386/t-x86_64-elf"
1963 tm_file="${tm_file} i386/unix.h i386/att.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h fuchsia.h"
1966 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h"
1967 tmake_file="ia64/t-ia64"
1968 target_cpu_default="0"
1969 if test x$gas = xyes
1971 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
1973 if test x$gnu_ld = xyes
1975 target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
1979 tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
1980 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1981 tmake_file="${tmake_file} ia64/t-ia64"
1984 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
1985 tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
1986 target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
1989 tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h"
1990 tmake_file="ia64/t-ia64 ia64/t-hpux t-slibgcc"
1991 target_cpu_default="MASK_GNU_AS"
1992 case x$enable_threads in
1998 c_target_objs="ia64-c.o"
1999 cxx_target_objs="ia64-c.o"
2000 extra_options="${extra_options} ia64/ilp32.opt hpux11.opt"
2002 tm_file="${tm_file} hpux-stdint.h"
2005 tm_file="${tm_file} ia64/hpux-unix2003.h"
2010 tm_file="${tm_file} elfos.h ia64/sysv4.h vms/vms.h ia64/vms.h"
2011 tmake_file="${tmake_file} ia64/t-ia64"
2012 target_cpu_default="0"
2013 if test x$gas = xyes
2015 target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
2017 extra_options="${extra_options} ia64/vms.opt"
2020 tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
2021 out_file=iq2000/iq2000.c
2022 md_file=iq2000/iq2000.md
2025 tm_file="dbxelf.h elfos.h ${tm_file} newlib-stdint.h"
2026 tmake_file="${tmake_file} lm32/t-lm32"
2029 tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h"
2030 tmake_file="${tmake_file} lm32/t-lm32"
2031 tmake_file="${tmake_file} lm32/t-rtems"
2034 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h lm32/uclinux-elf.h"
2035 tmake_file="${tmake_file} lm32/t-lm32"
2038 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2041 tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}"
2044 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h"
2045 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
2047 if test x$enable_threads = xyes; then
2052 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h"
2053 tmake_file="${tmake_file} m32r/t-linux t-slibgcc"
2055 if test x$enable_threads = xyes; then
2059 m68k-*-elf* | fido-*-elf*)
2062 # Check that $with_cpu makes sense.
2067 echo "Cannot accept --with-cpu=$with_cpu"
2074 default_m68k_cpu=68020
2078 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"
2079 tm_defines="${tm_defines} MOTOROLA=1"
2080 tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
2081 # Add multilibs for targets other than fido.
2086 tmake_file="$tmake_file m68k/t-mlibs"
2091 default_m68k_cpu=68020
2093 tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} m68k/netbsd-elf.h"
2094 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2095 tm_defines="${tm_defines} MOTOROLA=1 CHAR_FAST8=1 SHORT_FAST16=1"
2098 default_m68k_cpu=68020
2100 # needed to unconfuse gdb
2101 tm_defines="${tm_defines} OBSD_OLD_GAS"
2102 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h m68k/openbsd.h"
2103 extra_options="${extra_options} openbsd.opt"
2104 tmake_file="t-openbsd m68k/t-openbsd"
2105 # we need collect2 until our bug is fixed...
2108 m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
2109 # with uClibc, using the new GNU/Linux-style
2111 default_m68k_cpu=68020
2113 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"
2114 extra_options="${extra_options} m68k/uclinux.opt"
2115 tm_defines="${tm_defines} MOTOROLA=1"
2116 tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
2118 m68k-*-linux*) # Motorola m68k's running GNU/Linux
2119 # with ELF format using glibc 2
2120 # aka the GNU/Linux C library 6.
2121 default_m68k_cpu=68020
2123 with_arch=${with_arch:-m68k}
2124 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
2125 extra_options="${extra_options} m68k/ieee.opt"
2126 tm_defines="${tm_defines} MOTOROLA=1"
2127 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
2130 default_m68k_cpu=68020
2132 tmake_file="${tmake_file} m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff m68k/t-rtems m68k/t-mlibs"
2133 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"
2134 tm_defines="${tm_defines} MOTOROLA=1"
2137 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h"
2138 tmake_file=mcore/t-mcore
2144 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2147 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2150 tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
2151 tm_file="${tm_file} glibc-stdint.h"
2152 c_target_objs="${c_target_objs} microblaze-c.o"
2153 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2154 tmake_file="${tmake_file} microblaze/t-microblaze"
2155 tmake_file="${tmake_file} microblaze/t-microblaze-linux"
2157 microblaze*-*-rtems*)
2160 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2163 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2166 tm_file="${tm_file} dbxelf.h"
2167 tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
2168 c_target_objs="${c_target_objs} microblaze-c.o"
2169 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2170 tmake_file="${tmake_file} microblaze/t-microblaze"
2171 tmake_file="${tmake_file} microblaze/t-rtems"
2176 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
2179 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
2182 tm_file="${tm_file} dbxelf.h newlib-stdint.h"
2183 c_target_objs="${c_target_objs} microblaze-c.o"
2184 cxx_target_objs="${cxx_target_objs} microblaze-c.o"
2185 tmake_file="${tmake_file} microblaze/t-microblaze"
2188 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} riscv/linux.h"
2189 case "x${enable_multilib}" in
2191 xyes) tmake_file="${tmake_file} riscv/t-linux-multilib" ;;
2192 *) echo "Unknown value for enable_multilib"; exit 1
2194 tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux"
2197 # Force .init_array support. The configure script cannot always
2198 # automatically detect that GAS supports it, yet we require it.
2199 gcc_cv_initfini_array=yes
2201 riscv*-*-elf* | riscv*-*-rtems*)
2202 tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
2205 tm_file="${tm_file} rtems.h riscv/rtems.h"
2206 tmake_file="${tmake_file} riscv/t-rtems"
2209 case "x${enable_multilib}" in
2211 xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;;
2212 *) echo "Unknown value for enable_multilib"; exit 1
2215 tmake_file="${tmake_file} riscv/t-riscv"
2218 # Force .init_array support. The configure script cannot always
2219 # automatically detect that GAS supports it, yet we require it.
2220 gcc_cv_initfini_array=yes
2223 tm_file="${tm_file} elfos.h ${fbsd_tm_file} riscv/freebsd.h"
2224 tmake_file="${tmake_file} riscv/t-riscv"
2227 # Force .init_array support. The configure script cannot always
2228 # automatically detect that GAS supports it, yet we require it.
2229 gcc_cv_initfini_array=yes
2231 mips*-*-netbsd*) # NetBSD/mips, either endian.
2232 target_cpu_default="MASK_ABICALLS"
2233 tm_file="elfos.h ${tm_file} mips/elf.h ${nbsd_tm_file} mips/netbsd.h"
2234 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2237 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"
2238 extra_options="${extra_options} linux-android.opt"
2239 tmake_file="${tmake_file} mips/t-img-linux"
2240 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2241 with_arch_32="mips32r6"
2242 with_arch_64="mips64r6"
2247 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"
2248 extra_options="${extra_options} linux-android.opt"
2249 tmake_file="${tmake_file} mips/t-mti-linux"
2250 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2251 with_arch_32="mips32r2"
2252 with_arch_64="mips64r2"
2256 mips*-*-linux*) # Linux MIPS, either endian.
2257 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"
2258 extra_options="${extra_options} linux-android.opt"
2261 default_mips_arch=mips32r6
2264 default_mips_arch=mips32r2
2267 default_mips_arch=mips32
2269 mips64el-st-linux-gnu)
2270 default_mips_abi=n32
2271 tm_file="${tm_file} mips/st.h"
2272 tmake_file="${tmake_file} mips/t-st"
2273 enable_mips_multilibs="yes"
2275 mips64octeon*-*-linux*)
2276 default_mips_abi=n32
2277 tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
2278 target_cpu_default=MASK_SOFT_FLOAT_ABI
2279 enable_mips_multilibs="yes"
2281 mipsisa64r6*-*-linux*)
2282 default_mips_abi=n32
2283 default_mips_arch=mips64r6
2284 enable_mips_multilibs="yes"
2286 mipsisa64r2*-*-linux*)
2287 default_mips_abi=n32
2288 default_mips_arch=mips64r2
2289 enable_mips_multilibs="yes"
2291 mips64*-*-linux* | mipsisa64*-*-linux*)
2292 default_mips_abi=n32
2293 enable_mips_multilibs="yes"
2296 if test x$enable_targets = xall; then
2297 enable_mips_multilibs="yes"
2299 if test x$enable_mips_multilibs = xyes; then
2300 tmake_file="${tmake_file} mips/t-linux64"
2304 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2305 tmake_file="mips/t-mti-elf"
2306 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2307 with_arch_32="mips32r2"
2308 with_arch_64="mips64r2"
2311 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h mips/mti-elf.h"
2312 tmake_file="mips/t-img-elf"
2313 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2314 with_arch_32="mips32r6"
2315 with_arch_64="mips64r6"
2318 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h mips/sde.h"
2319 tmake_file="mips/t-sde"
2320 extra_options="${extra_options} mips/sde.opt"
2321 case "${with_newlib}" in
2323 # newlib / libgloss.
2326 # MIPS toolkit libraries.
2327 tm_file="$tm_file mips/sdemtk.h"
2328 tmake_file="$tmake_file mips/t-sdemtk"
2329 case ${enable_threads} in
2331 thread_file='mipssde'
2338 tm_defines="MIPS_ISA_DEFAULT=37 MIPS_ABI_DEFAULT=ABI_32"
2341 tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
2344 tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
2347 tm_defines="MIPS_ISA_DEFAULT=69 MIPS_ABI_DEFAULT=ABI_N32"
2350 tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
2353 tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
2357 mipsisa32-*-elf* | mipsisa32el-*-elf* | \
2358 mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
2359 mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
2360 mipsisa64-*-elf* | mipsisa64el-*-elf* | \
2361 mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
2362 mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
2363 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2364 tmake_file="mips/t-isa3264"
2367 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=37"
2370 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
2373 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
2376 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=69"
2379 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
2382 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
2386 mipsisa32*-*-elfoabi*)
2387 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
2388 tm_file="${tm_file} mips/elfoabi.h"
2390 mipsisa64*-*-elfoabi*)
2391 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
2392 tm_file="${tm_file} mips/elfoabi.h"
2395 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2399 mipsisa64sr71k-*-elf*)
2400 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2401 tmake_file=mips/t-sr71k
2402 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
2404 mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
2405 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2406 tmake_file="mips/t-elf mips/t-sb1"
2407 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
2409 mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*)
2410 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2411 tmake_file="mips/t-elf"
2413 mips64r5900-*-elf* | mips64r5900el-*-elf*)
2414 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/n32-elf.h"
2415 tmake_file="mips/t-elf"
2416 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
2418 mips64-*-elf* | mips64el-*-elf*)
2419 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
2420 tmake_file="mips/t-elf"
2421 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2423 mips64vr-*-elf* | mips64vrel-*-elf*)
2424 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/vr.h mips/elf.h"
2425 tmake_file=mips/t-vr
2426 tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
2428 mips64orion-*-elf* | mips64orionel-*-elf*)
2429 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elforion.h mips/elf.h"
2430 tmake_file="mips/t-elf"
2431 tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
2434 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
2435 tmake_file="${tmake_file} mips/t-elf mips/t-rtems"
2438 tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
2439 tmake_file="${tmake_file} mips/t-vxworks"
2441 mipstx39-*-elf* | mipstx39el-*-elf*)
2442 tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h"
2443 tmake_file="mips/t-r3900"
2445 mmix-knuth-mmixware)
2446 tm_file="${tm_file} newlib-stdint.h"
2450 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2451 if test x$stabs = xyes
2453 tm_file="${tm_file} dbx.h"
2459 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2460 c_target_objs="msp430-c.o"
2461 cxx_target_objs="msp430-c.o"
2462 tmake_file="${tmake_file} msp430/t-msp430"
2463 extra_gcc_objs="driver-msp430.o"
2466 target_cpu_default="0"
2467 tm_defines="${tm_defines}"
2472 target_cpu_default="${target_cpu_default}|MASK_BIG_ENDIAN"
2473 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
2478 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} nds32/elf.h nds32/nds32_intrinsic.h"
2479 tmake_file="nds32/t-nds32 nds32/t-elf"
2482 tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h nds32/linux.h nds32/nds32_intrinsic.h"
2483 tmake_file="${tmake_file} nds32/t-nds32 nds32/t-linux"
2487 # Handle --enable-default-relax setting.
2488 if test x${enable_default_relax} = xyes; then
2489 tm_defines="${tm_defines} TARGET_DEFAULT_RELAX=1"
2491 # Handle --with-ext-dsp
2492 if test x${with_ext_dsp} = xyes; then
2493 tm_defines="${tm_defines} TARGET_DEFAULT_EXT_DSP=1"
2497 tm_file="elfos.h ${tm_file}"
2498 tmake_file="${tmake_file} nios2/t-nios2"
2501 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h nios2/linux.h "
2504 tm_file="${tm_file} newlib-stdint.h nios2/elf.h"
2505 extra_options="${extra_options} nios2/elf.opt"
2508 tm_file="${tm_file} newlib-stdint.h nios2/rtems.h rtems.h"
2509 tmake_file="${tmake_file} t-rtems nios2/t-rtems"
2514 tm_file="${tm_file} newlib-stdint.h"
2516 tmake_file="nvptx/t-nvptx"
2517 if test x$enable_as_accelerator = xyes; then
2518 extra_programs="${extra_programs} mkoffload\$(exeext)"
2519 tm_file="${tm_file} nvptx/offload.h"
2523 tm_file="elfos.h ${tm_file}"
2524 tmake_file="${tmake_file} or1k/t-or1k"
2525 # Force .init_array support. The configure script cannot always
2526 # automatically detect that GAS supports it, yet we require it.
2527 gcc_cv_initfini_array=yes
2529 # Handle --with-multilib-list=...
2530 or1k_multilibs="${with_multilib_list}"
2531 if test "$or1k_multilibs" = "default"; then
2532 or1k_multilibs="mcmov,msoft-mul,msoft-div"
2534 or1k_multilibs=`echo $or1k_multilibs | sed -e 's/,/ /g'`
2535 for or1k_multilib in ${or1k_multilibs}; do
2536 case ${or1k_multilib} in
2537 mcmov | msext | msfimm | \
2538 mhard-div | mhard-mul | \
2539 msoft-div | msoft-mul )
2540 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${or1k_multilib}"
2543 echo "--with-multilib-list=${with_multilib_list} not supported."
2547 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
2551 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h"
2552 tm_file="${tm_file} or1k/linux.h"
2555 tm_file="${tm_file} newlib-stdint.h or1k/elf.h"
2556 extra_options="${extra_options} or1k/elf.opt"
2559 tm_file="${tm_file} newlib-stdint.h or1k/rtems.h rtems.h"
2560 tmake_file="${tmake_file} or1k/t-rtems"
2565 tm_file="${tm_file} newlib-stdint.h"
2568 # port not yet contributed
2569 #powerpc-*-openbsd*)
2570 # tmake_file="${tmake_file} rs6000/t-fprules"
2574 extra_options="${extra_options} rs6000/darwin.opt"
2576 *-darwin1[0-9]* | *-darwin[8-9]*)
2577 tmake_file="${tmake_file} rs6000/t-darwin8"
2578 tm_file="${tm_file} rs6000/darwin8.h"
2581 tm_file="${tm_file} rs6000/darwin7.h"
2586 tmake_file="${tmake_file} t-slibgcc"
2587 extra_headers=altivec.h
2589 powerpc64-*-darwin*)
2590 extra_options="${extra_options} ${cpu_type}/darwin.opt"
2591 tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
2592 tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
2593 extra_headers=altivec.h
2595 powerpc*-*-freebsd*)
2596 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${fbsd_tm_file} rs6000/sysv4.h"
2597 extra_options="${extra_options} rs6000/sysv4.opt"
2598 tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
2601 tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
2602 tmake_file="${tmake_file} rs6000/t-freebsd64"
2603 extra_options="${extra_options} rs6000/linux64.opt"
2606 tm_file="${tm_file} rs6000/freebsd.h"
2611 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${nbsd_tm_file} freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
2612 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2613 tmake_file="${tmake_file} rs6000/t-netbsd"
2614 extra_options="${extra_options} rs6000/sysv4.opt"
2616 powerpc-*-eabisimaltivec*)
2617 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
2618 extra_options="${extra_options} rs6000/sysv4.opt"
2619 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2623 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
2624 extra_options="${extra_options} rs6000/sysv4.opt"
2625 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2629 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h"
2630 extra_options="${extra_options} rs6000/sysv4.opt"
2631 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2633 powerpc-*-eabialtivec*)
2634 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
2635 extra_options="${extra_options} rs6000/sysv4.opt"
2636 tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
2640 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h"
2641 extra_options="${extra_options} rs6000/sysv4.opt"
2642 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2646 tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/rtems.h rtems.h"
2647 extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
2648 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
2651 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h freebsd-spec.h rs6000/sysv4.h"
2652 extra_options="${extra_options} rs6000/sysv4.opt"
2653 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
2654 extra_objs="$extra_objs rs6000-linux.o"
2657 tm_file="${tm_file} rs6000/sysv4le.h" ;;
2659 case ${target}:${with_cpu} in
2660 powerpc64*: | powerpc64*:native) cpu_is_64bit=yes ;;
2662 maybe_biarch=${cpu_is_64bit}
2663 case ${enable_targets} in
2664 *powerpc64*) maybe_biarch=yes ;;
2665 all) maybe_biarch=yes ;;
2667 case ${target}:${enable_targets}:${maybe_biarch} in
2668 powerpc64-* | powerpc-*:*:yes | *:*powerpc64-*:yes | *:all:yes \
2669 | powerpc64le*:*powerpcle* | powerpc64le*:*powerpc-* \
2670 | powerpcle-*:*powerpc64le*:yes)
2671 if test x$cpu_is_64bit = xyes; then
2672 tm_file="${tm_file} rs6000/default64.h"
2674 tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
2675 tmake_file="$tmake_file rs6000/t-linux64"
2678 tmake_file="$tmake_file rs6000/t-linux64le"
2679 case ${enable_targets} in
2680 all | *powerpc64-* | *powerpc-*)
2681 tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
2684 case ${enable_targets} in
2685 all | *powerpc64le-* | *powerpcle-*)
2686 tmake_file="$tmake_file rs6000/t-linux64bele" ;;
2689 extra_options="${extra_options} rs6000/linux64.opt"
2692 tm_file="${tm_file} rs6000/default64.h rs6000/linux64.h glibc-stdint.h"
2693 extra_options="${extra_options} rs6000/linux64.opt"
2694 tmake_file="${tmake_file} rs6000/t-linux"
2697 tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
2698 tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-linux"
2702 powerpc*-*-linux*ppc476*)
2703 tm_file="${tm_file} rs6000/476.h"
2704 extra_options="${extra_options} rs6000/476.opt" ;;
2705 powerpc*-*-linux*altivec*)
2706 tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
2710 enable_secureplt=yes ;;
2712 if test x${enable_secureplt} = xyes; then
2713 tm_file="rs6000/secureplt.h ${tm_file}"
2716 powerpc-wrs-vxworks*)
2717 tm_file="${tm_file} elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
2718 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
2719 extra_options="${extra_options} rs6000/sysv4.opt"
2720 extra_headers=ppc-asm.h
2723 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksmils.h"
2724 tmake_file="${tmake_file} rs6000/t-vxworksmils"
2727 tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
2728 tmake_file="${tmake_file} rs6000/t-vxworksae"
2731 tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
2737 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
2738 tmake_file="t-lynx rs6000/t-lynx"
2739 extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
2745 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h"
2746 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2747 extra_options="${extra_options} rs6000/sysv4.opt"
2749 powerpcle-*-eabisim*)
2750 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
2751 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2752 extra_options="${extra_options} rs6000/sysv4.opt"
2756 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
2757 tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
2758 extra_options="${extra_options} rs6000/sysv4.opt"
2761 rs6000-ibm-aix6.* | powerpc-ibm-aix6.*)
2762 tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
2763 tmake_file="rs6000/t-aix52 t-slibgcc"
2764 extra_options="${extra_options} rs6000/aix64.opt"
2768 default_use_cxa_atexit=yes
2770 rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*)
2771 tm_file="${tm_file} rs6000/aix.h rs6000/aix71.h rs6000/xcoff.h rs6000/aix-stdint.h"
2772 tmake_file="rs6000/t-aix52 t-slibgcc"
2773 extra_options="${extra_options} rs6000/aix64.opt"
2777 default_use_cxa_atexit=yes
2779 rs6000-ibm-aix[789].* | powerpc-ibm-aix[789].*)
2780 tm_file="${tm_file} rs6000/aix.h rs6000/aix72.h rs6000/xcoff.h rs6000/aix-stdint.h"
2781 tmake_file="rs6000/t-aix52 t-slibgcc"
2782 extra_options="${extra_options} rs6000/aix64.opt"
2786 default_use_cxa_atexit=yes
2789 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2790 target_has_targetm_common=no
2791 c_target_objs="rl78-c.o"
2792 cxx_target_objs="rl78-c.o"
2793 tmake_file="${tmake_file} rl78/t-rl78"
2796 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
2797 tmake_file="${tmake_file} rx/t-rx"
2800 tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2801 c_target_objs="${c_target_objs} s390-c.o"
2802 cxx_target_objs="${cxx_target_objs} s390-c.o"
2803 if test x$enable_targets = xall; then
2804 tmake_file="${tmake_file} s390/t-linux64"
2806 tmake_file="${tmake_file} s390/t-s390"
2809 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
2810 tm_p_file="linux-protos.h s390/s390-protos.h"
2811 c_target_objs="${c_target_objs} s390-c.o"
2812 cxx_target_objs="${cxx_target_objs} s390-c.o"
2813 md_file=s390/s390.md
2814 extra_modes=s390/s390-modes.def
2815 out_file=s390/s390.c
2816 tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
2819 tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
2820 tm_p_file=s390/s390-protos.h
2821 c_target_objs="${c_target_objs} s390-c.o"
2822 cxx_target_objs="${cxx_target_objs} s390-c.o"
2823 md_file=s390/s390.md
2824 extra_modes=s390/s390-modes.def
2825 out_file=s390/s390.c
2827 extra_options="${extra_options} s390/tpf.opt"
2828 tmake_file="${tmake_file} s390/t-s390"
2830 sh-*-elf* | sh[12346l]*-*-elf* | \
2831 sh-*-linux* | sh[2346lbe]*-*-linux* | \
2832 sh-*-netbsdelf* | shl*-*-netbsdelf*)
2833 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
2834 if test x${with_endian} = x; then
2836 sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
2837 shbe-*-* | sheb-*-*) with_endian=big,little ;;
2838 sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
2839 shl* | sh*-*-linux* | \
2840 sh-superh-elf) with_endian=little,big ;;
2841 sh[1234]*-*-*) with_endian=big ;;
2842 *) with_endian=big,little ;;
2845 # TM_ENDIAN_CONFIG is used by t-sh to determine multilibs.
2846 # First word : the default endian.
2847 # Second word: the secondary endian (optional).
2848 case ${with_endian} in
2849 big) TM_ENDIAN_CONFIG=mb ;;
2850 little) TM_ENDIAN_CONFIG=ml ;;
2851 big,little) TM_ENDIAN_CONFIG="mb ml" ;;
2852 little,big) TM_ENDIAN_CONFIG="ml mb" ;;
2853 *) echo "with_endian=${with_endian} not supported."; exit 1 ;;
2855 case ${with_endian} in
2856 little*) tm_file="sh/little.h ${tm_file}" ;;
2858 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h"
2860 sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
2861 if test x$enable_fdpic = xyes; then
2862 tm_defines="$tm_defines FDPIC_DEFAULT=1"
2864 tm_file="${tm_file} gnu-user.h linux.h glibc-stdint.h sh/linux.h" ;;
2866 tm_file="${tm_file} ${nbsd_tm_file} sh/netbsd-elf.h"
2867 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
2870 sh*-superh-elf) if test x$with_libgloss != xno; then
2872 tm_file="${tm_file} sh/newlib.h"
2874 tm_file="${tm_file} sh/embed-elf.h"
2875 tm_file="${tm_file} sh/superh.h"
2876 extra_options="${extra_options} sh/superh.opt" ;;
2877 *) if test x$with_newlib = xyes \
2878 && test x$with_libgloss = xyes; then
2879 tm_file="${tm_file} sh/newlib.h"
2881 tm_file="${tm_file} sh/embed-elf.h" ;;
2887 tm_file="${tm_file} newlib-stdint.h"
2890 # sed el/eb endian suffixes away to avoid confusion with sh[23]e
2891 case `echo ${target} | sed 's/e[lb]-/-/'` in
2892 sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
2893 sh4a_single*) sh_cpu_target=sh4a-single ;;
2894 sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
2895 sh4al) sh_cpu_target=sh4al ;;
2896 sh4a*) sh_cpu_target=sh4a ;;
2897 sh4_single_only*) sh_cpu_target=sh4-single-only ;;
2898 sh4_single*) sh_cpu_target=sh4-single ;;
2899 sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
2900 sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
2901 sh3e*) sh_cpu_target=sh3e ;;
2902 sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
2903 sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
2904 sh2a_single*) sh_cpu_target=sh2a-single ;;
2905 sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
2906 sh2a*) sh_cpu_target=sh2a ;;
2907 sh2e*) sh_cpu_target=sh2e ;;
2908 sh2*) sh_cpu_target=sh2 ;;
2909 *) sh_cpu_target=sh1 ;;
2911 # did the user say --without-fp ?
2912 if test x$with_fp = xno; then
2913 case ${sh_cpu_target} in
2915 sh4a* ) sh_cpu_target=sh4a-nofpu ;;
2916 sh4*) sh_cpu_target=sh4-nofpu ;;
2917 sh3*) sh_cpu_target=sh3 ;;
2918 sh2a*) sh_cpu_target=sh2a-nofpu ;;
2919 sh2*) sh_cpu_target=sh2 ;;
2920 *) echo --without-fp not available for $target: ignored
2922 tm_defines="$tm_defines STRICT_NOFPU=1"
2924 sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
2925 case $sh_cpu_default in
2926 sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
2927 sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
2928 sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
2929 sh3e | sh3 | sh2e | sh2 | sh1) ;;
2930 "") sh_cpu_default=${sh_cpu_target} ;;
2931 *) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
2933 sh_multilibs=${with_multilib_list}
2934 if test "$sh_multilibs" = "default" ; then
2936 sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
2937 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
2938 sh*-*-linux*) sh_multilibs=m1,m2,m2a,m3e,m4 ;;
2939 sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
2940 *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
2942 if test x$with_fp = xno; then
2943 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`"
2946 target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
2947 tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
2948 tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2949 sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
2950 for sh_multilib in ${sh_multilibs}; do
2951 case ${sh_multilib} in
2952 m1 | m2 | m2e | m3 | m3e | \
2953 m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
2954 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
2955 m2a | m2a-single | m2a-single-only | m2a-nofpu)
2956 # TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
2957 # It is passed to MULTIILIB_OPTIONS verbatim.
2958 TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
2959 tm_defines="$tm_defines SUPPORT_`echo $sh_multilib | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
2961 \!*) # TM_MULTILIB_EXCEPTIONS_CONFIG is used by t-sh
2962 # It is passed the MULTILIB_EXCEPTIONS verbatim.
2963 TM_MULTILIB_EXCEPTIONS_CONFIG="${TM_MULTILIB_EXCEPTIONS_CONFIG} `echo $sh_multilib | sed 's/^!//'`" ;;
2965 echo "with_multilib_list=${sh_multilib} not supported."
2970 TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
2971 if test x${enable_incomplete_targets} = xyes ; then
2972 tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
2974 tm_file="$tm_file ./sysroot-suffix.h"
2975 tmake_file="$tmake_file t-sysroot-suffix"
2978 tmake_file="${tmake_file} sh/t-sh sh/t-rtems"
2979 tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h"
2982 tmake_file="$tmake_file sh/t-sh sh/t-vxworks"
2983 tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
2986 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h"
2989 tmake_file="sparc/t-sparc sparc/t-leon"
2992 tmake_file="sparc/t-sparc sparc/t-leon3"
2995 tmake_file="sparc/t-sparc sparc/t-elf"
3000 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
3001 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
3004 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
3005 extra_options="${extra_options} sparc/long-double-switch.opt"
3008 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon"
3011 tmake_file="${tmake_file} sparc/t-sparc sparc/t-leon3"
3014 tmake_file="${tmake_file} sparc/t-sparc"
3017 if test x$enable_targets = xall; then
3018 tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
3019 tmake_file="${tmake_file} sparc/t-linux64"
3021 tm_file="${tm_file} sparc/linux.h"
3022 tmake_file="${tmake_file} sparc/t-linux"
3026 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h"
3027 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
3028 extra_options="${extra_options} sparc/long-double-switch.opt"
3029 tmake_file="${tmake_file} sparc/t-sparc"
3032 tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sparc/tso.h"
3034 sparc64-*-* | sparcv9-*-*)
3035 tm_file="sparc/default64.h ${tm_file}"
3038 test x$with_cpu != x || with_cpu=v9
3041 tmake_file="${tmake_file} sparc/t-sparc sparc/t-sol2"
3044 tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
3045 tmake_file="${tmake_file} sparc/t-sparc sparc/t-vxworks"
3048 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
3049 extra_options="${extra_options}"
3050 tmake_file="${tmake_file} sparc/t-sparc"
3053 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
3054 extra_options="${extra_options}"
3055 tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
3058 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"
3059 extra_options="${extra_options} sparc/long-double-switch.opt"
3060 tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
3062 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
3063 tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
3064 extra_options="${extra_options} sparc/long-double-switch.opt"
3065 case "x$with_cpu" in
3067 x) with_cpu=ultrasparc ;;
3068 *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
3070 tmake_file="${tmake_file} sparc/t-sparc"
3073 tm_file="sparc/biarch64.h ${tm_file}"
3074 tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h ${nbsd_tm_file} sparc/netbsd-elf.h"
3075 extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
3076 extra_options="${extra_options} sparc/long-double-switch.opt"
3077 tmake_file="${tmake_file} sparc/t-sparc sparc/t-netbsd64"
3080 tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
3081 tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
3082 extra_options="${extra_options} openbsd.opt"
3083 extra_options="${extra_options}"
3086 tmake_file="${tmake_file} sparc/t-sparc"
3089 tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h"
3090 tmake_file="spu/t-spu-elf"
3091 native_system_header_dir=/include
3092 extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h spu_cache.h"
3093 extra_modes=spu/spu-modes.def
3094 c_target_objs="${c_target_objs} spu-c.o"
3095 cxx_target_objs="${cxx_target_objs} spu-c.o"
3098 tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
3099 tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
3100 tmake_file="c6x/t-c6x c6x/t-c6x-elf"
3104 tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
3105 tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
3106 tm_file="${tm_file} ./sysroot-suffix.h"
3107 tmake_file="t-sysroot-suffix t-slibgcc"
3108 tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
3112 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilegx/linux.h ${tm_file}"
3113 tmake_file="${tmake_file} tilegx/t-tilegx"
3114 extra_objs="${extra_objs} mul-tables.o"
3115 c_target_objs="${c_target_objs} tilegx-c.o"
3116 cxx_target_objs="${cxx_target_objs} tilegx-c.o"
3117 extra_headers="feedback.h"
3120 tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
3125 tm_file="elfos.h gnu-user.h linux.h glibc-stdint.h tilepro/linux.h ${tm_file}"
3126 tmake_file="${tmake_file} tilepro/t-tilepro"
3127 extra_objs="${extra_objs} mul-tables.o"
3128 c_target_objs="${c_target_objs} tilepro-c.o"
3129 cxx_target_objs="${cxx_target_objs} tilepro-c.o"
3130 extra_headers="feedback.h"
3133 target_cpu_default="TARGET_CPU_generic"
3134 tm_file="dbxelf.h elfos.h v850/v850.h"
3135 tm_file="${tm_file} rtems.h v850/rtems.h newlib-stdint.h"
3136 tmake_file="${tmake_file} v850/t-v850"
3137 tmake_file="${tmake_file} v850/t-rtems"
3139 c_target_objs="v850-c.o"
3140 cxx_target_objs="v850-c.o"
3145 target_cpu_default="TARGET_CPU_v850e3v5"
3148 target_cpu_default="TARGET_CPU_v850e2v3"
3151 target_cpu_default="TARGET_CPU_v850e2"
3153 v850e1-*-* | v850es-*-*)
3154 target_cpu_default="TARGET_CPU_v850e1"
3157 target_cpu_default="TARGET_CPU_v850e"
3160 target_cpu_default="TARGET_CPU_generic"
3163 tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h"
3164 if test x$stabs = xyes
3166 tm_file="${tm_file} dbx.h"
3169 c_target_objs="v850-c.o"
3170 cxx_target_objs="v850-c.o"
3174 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
3175 extra_options="${extra_options} vax/elf.opt"
3178 tm_file="${tm_file} elfos.h ${nbsd_tm_file} vax/elf.h vax/netbsd-elf.h"
3179 extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
3180 tm_defines="${tm_defines} CHAR_FAST8=1 SHORT_FAST16=1"
3183 tm_file="vax/vax.h vax/openbsd1.h openbsd.h openbsd-stdint.h openbsd-libpthread.h vax/openbsd.h"
3184 extra_options="${extra_options} openbsd.opt"
3188 tm_file="dbxelf.h elfos.h ${tm_file} visium/elf.h newlib-stdint.h"
3189 tmake_file="visium/t-visium visium/t-crtstuff"
3192 # For historical reasons, the target files omit the 'x'.
3193 tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h"
3194 tm_p_file=stormy16/stormy16-protos.h
3195 tm_d_file="elfos.h stormy16/stormy16.h"
3196 md_file=stormy16/stormy16.md
3197 out_file=stormy16/stormy16.c
3198 extra_options=stormy16/stormy16.opt
3199 tmake_file="stormy16/t-stormy16"
3202 tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
3203 extra_options="${extra_options} xtensa/elf.opt"
3206 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
3207 tmake_file="${tmake_file} xtensa/t-xtensa"
3210 tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
3211 tmake_file="${tmake_file} xtensa/t-xtensa"
3212 extra_options="${extra_options} xtensa/uclinux.opt"
3215 tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
3220 tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
3221 c_target_objs="m32c-pragma.o"
3222 cxx_target_objs="m32c-pragma.o"
3225 tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
3226 c_target_objs="m32c-pragma.o"
3227 cxx_target_objs="m32c-pragma.o"
3230 echo "*** Configuration ${target} not supported" 1>&2
3236 i[34567]86-*-linux* | x86_64-*-linux*)
3237 tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
3239 i[34567]86-*-* | x86_64-*-*)
3240 tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
3242 powerpc*-*-* | rs6000-*-*)
3243 tm_file="${tm_file} ${cpu_type}/option-defaults.h"
3249 tmake_file="${tmake_file} t-musl"
3252 tmake_file="${tmake_file} t-uclibc"
3256 # Assume the existence of indirect function support and allow the use of the
3257 # resolver attribute.
3259 *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*)
3263 aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*)
3264 default_gnu_indirect_function=yes
3270 # Build mkoffload tool
3272 *-intelmic-* | *-intelmicemul-*)
3273 tmake_file="${tmake_file} i386/t-intelmic"
3274 tm_file="${tm_file} i386/intelmic-offload.h"
3278 if [ "$target_has_targetcm" = "no" ]; then
3279 c_target_objs="$c_target_objs default-c.o"
3280 cxx_target_objs="$cxx_target_objs default-c.o"
3283 if [ "$common_out_file" = "" ]; then
3284 if [ "$target_has_targetm_common" = "yes" ]; then
3285 common_out_file="$cpu_type/$cpu_type-common.c"
3287 common_out_file="default-common.c"
3291 if [ "$target_has_targetdm" = "no" ]; then
3292 d_target_objs="$d_target_objs default-d.o"
3295 # Support for --with-cpu and related options (and a few unrelated options,
3299 echo "--with-cpu must be passed a value" 1>&2
3304 # Set arch and cpu from ${target} and ${target_noncanonical}. Set cpu
3305 # to generic if there is no processor scheduler model for the target.
3308 arch_without_sse2=no
3309 arch_without_64bit=no
3312 if test $fbsd_major -ge 6; then
3318 arch_without_sse2=yes
3319 arch_without_64bit=yes
3324 arch_without_sse2=yes
3325 arch_without_64bit=yes
3330 arch_without_sse2=yes
3331 arch_without_64bit=yes
3336 arch_without_sse2=yes
3337 arch_without_64bit=yes
3340 arch_without_sse2=yes
3341 arch_without_64bit=yes
3342 case ${target_noncanonical} in
3355 pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
3365 i686-*-* | i786-*-*)
3366 case ${target_noncanonical} in
3399 amdfam10-*|barcelona-*)
3403 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3407 k8-*|opteron-*|athlon64-*|athlon_fx-*)
3411 athlon_xp-*|athlon_mp-*|athlon_4-*)
3414 arch_without_sse2=yes
3415 arch_without_64bit=yes
3417 athlon_tbird-*|athlon-*)
3420 arch_without_sse2=yes
3425 arch_without_sse2=yes
3430 arch_without_sse2=yes
3432 pentium3-*|pentium3m-*)
3435 arch_without_sse2=yes
3437 pentium4-*|pentium4m-*)
3476 arch_without_sse2=yes
3481 arch_without_sse2=yes
3482 arch_without_64bit=yes
3487 case ${target_noncanonical} in
3520 amdfam10-*|barcelona-*)
3524 k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
3528 k8-*|opteron-*|athlon_64-*)
3560 # If there is no $with_cpu option, try to infer one from ${target}.
3561 # This block sets nothing except for with_cpu.
3562 if test x$with_cpu = x ; then
3564 i[34567]86-*-elfiamcu)
3567 i[34567]86-*-*|x86_64-*-*)
3585 frv-*-*linux* | frv400-*-*linux*)
3592 case "$with_arch" in
3594 with_cpu=${default_cf_cpu}
3597 with_cpu=m${default_m68k_cpu}
3613 with_cpu="`echo ${target} | sed 's/-.*$//'`"
3622 # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
3624 i[34567]86-*-*|x86_64-*-*)
3625 if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
3626 if test x$with_cpu_32 = x; then
3627 with_cpu_32=$with_cpu
3629 if test x$with_cpu_64 = x; then
3630 with_cpu_64=$with_cpu
3638 # Support for --with-arch and related options (and a few unrelated options,
3640 case ${with_arch} in
3642 echo "--with-arch must be passed a value" 1>&2
3647 # If there is no $with_arch option, try to infer one from ${target}.
3648 # This block sets nothing except for with_arch.
3649 if test x$with_arch = x ; then
3651 i[34567]86-*-darwin*|x86_64-*-darwin*)
3652 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3653 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3655 i[34567]86-*-elfiamcu)
3659 # --with-fpmath sets the default ISA to SSE2, which is the same
3660 # ISA supported by Pentium 4.
3661 if test x$with_fpmath = x || test $arch_without_sse2 = no; then
3670 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3678 # Avoid overriding --with-arch-32 and --with-arch-64 values.
3680 i[34567]86-*-darwin*|x86_64-*-darwin*)
3681 # Default arch is set via TARGET_SUBTARGET32_ISA_DEFAULT
3682 # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
3684 i[34567]86-*-*|x86_64-*-*)
3685 if test x$with_arch_32 != x || test x$with_arch_64 != x; then
3686 if test x$with_arch_32 = x; then
3687 with_arch_32=$with_arch
3689 if test x$with_arch_64 = x; then
3690 if test $arch_without_64bit = yes; then
3691 # Set the default 64bit arch to x86-64 if the default arch
3692 # doesn't support 64bit.
3695 with_arch_64=$with_arch
3699 elif test $arch_without_64bit$need_64bit_isa = yesyes; then
3700 # Set the default 64bit arch to x86-64 if the default arch
3701 # doesn't support 64bit and we need 64bit ISA.
3702 with_arch_32=$with_arch
3710 # Infer a default setting for --with-float.
3711 if test x$with_float = x; then
3713 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3714 # The R5900 doesn't support 64-bit float. 32-bit float doesn't
3715 # comply with IEEE 754.
3721 # Infer a default setting for --with-fpu.
3722 if test x$with_fpu = x; then
3724 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3725 # The R5900 FPU only supports single precision.
3731 # Support --with-fpmath.
3732 if test x$with_fpmath != x; then
3734 i[34567]86-*-* | x86_64-*-*)
3735 case ${with_fpmath} in
3737 tm_file="${tm_file} i386/avxmath.h"
3740 tm_file="${tm_file} i386/ssemath.h"
3743 echo "Invalid --with-fpmath=$with_fpmath" 1>&2
3749 echo "--with-fpmath isn't supported for $target." 1>&2
3755 # Similarly for --with-schedule.
3756 if test x$with_schedule = x; then
3759 # Override default PA8000 scheduling model.
3760 with_schedule=7100LC
3765 # Infer a default setting for --with-llsc.
3766 if test x$with_llsc = x; then
3769 # The kernel emulates LL and SC where necessary.
3772 mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
3773 # The R5900 doesn't support LL(D) and SC(D).
3779 # Validate and mark as valid any --with options supported
3780 # by this target. In order to use a particular --with option
3781 # you must list it in supported_defaults; validating the value
3782 # is optional. This case statement should set nothing besides
3783 # supported_defaults.
3788 supported_defaults="abi cpu arch"
3789 for which in cpu arch; do
3791 eval "val=\$with_$which"
3792 base_val=`echo $val | sed -e 's/\+.*//'`
3793 ext_val=`echo $val | sed -e 's/[a-z0-9.-]\+//'`
3795 if [ $which = arch ]; then
3796 def=aarch64-arches.def
3797 pattern=AARCH64_ARCH
3799 def=aarch64-cores.def
3800 pattern=AARCH64_CORE
3803 ext_mask=AARCH64_CPU_DEFAULT_FLAGS
3805 # Find the base CPU or ARCH id in aarch64-cores.def or
3806 # aarch64-arches.def
3807 if [ x"$base_val" = x ] \
3808 || grep "^$pattern(\"$base_val\"," \
3809 ${srcdir}/config/aarch64/$def \
3812 if [ $which = arch ]; then
3813 base_id=`grep "^$pattern(\"$base_val\"," \
3814 ${srcdir}/config/aarch64/$def | \
3815 sed -e 's/^[^,]*,[ ]*//' | \
3817 # Extract the architecture flags from aarch64-arches.def
3818 ext_mask=`grep "^$pattern(\"$base_val\"," \
3819 ${srcdir}/config/aarch64/$def | \
3823 base_id=`grep "^$pattern(\"$base_val\"," \
3824 ${srcdir}/config/aarch64/$def | \
3825 sed -e 's/^[^,]*,[ ]*//' | \
3829 while [ x"$ext_val" != x ]
3831 ext_val=`echo $ext_val | sed -e 's/\+//'`
3832 ext=`echo $ext_val | sed -e 's/\+.*//'`
3833 base_ext=`echo $ext | sed -e 's/^no//'`
3835 if [ x"$base_ext" = x ] \
3836 || grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3837 ${srcdir}/config/aarch64/aarch64-option-extensions.def \
3840 ext_canon=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3841 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3842 sed -e 's/^[^,]*,[ ]*//' | \
3844 ext_on=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3845 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3846 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*//' | \
3847 sed -e 's/,.*$//' | \
3849 ext_off=`grep "^AARCH64_OPT_EXTENSION(\"$base_ext\"," \
3850 ${srcdir}/config/aarch64/aarch64-option-extensions.def | \
3851 sed -e 's/^[^,]*,[ ]*[^,]*,[ ]*[^,]*,[ ]*//' | \
3852 sed -e 's/,.*$//' | \
3856 if [ $ext = $base_ext ]; then
3858 ext_mask="("$ext_mask") | ("$ext_on" | "$ext_canon")"
3860 # Removing extension
3861 ext_mask="("$ext_mask") & ~("$ext_off" | "$ext_canon")"
3866 echo "Unknown extension used in --with-$which=$val" 1>&2
3869 ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
3872 ext_mask="(("$ext_mask") << 6)"
3873 if [ x"$base_id" != x ]; then
3874 target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
3878 echo "Unknown $which used in --with-$which=$val" 1>&2
3885 supported_defaults="cpu tune"
3886 for which in cpu tune; do
3887 eval "val=\$with_$which"
3890 | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
3891 | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
3895 echo "Unknown CPU used in --with-$which=$val" 1>&2
3903 supported_defaults="cpu"
3905 if [ x"$with_cpu" = x ] \
3906 || grep "^ARC_CPU ($with_cpu," \
3907 ${srcdir}/config/arc/arc-cpus.def \
3912 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
3918 supported_defaults="cpu endian float"
3922 supported_defaults="arch cpu float tune fpu abi mode tls"
3923 for which in cpu tune arch; do
3924 # See if it matches a supported value
3925 eval "val=\$with_$which"
3926 if [ x"$val" != x ]; then
3927 cpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \
3928 -v cmd="chk$which $val" \
3929 ${srcdir}/config/arm/arm-cpus.in`
3930 if [ "$cpu" = "error" ]; then
3931 echo "Unknown target in --with-$which=$val" 1>&2
3935 eval "target_${which}_cname=$new_val"
3936 echo "For $val real value is $new_val"
3941 case "$with_float" in
3943 | soft | hard | softfp)
3947 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
3952 # see if --with-fpu matches any of the supported FPUs
3953 if [ x"$with_fpu" != x ] ; then
3954 fpu=`awk -f ${srcdir}/config/arm/parsecpu.awk \
3955 -v cmd="chkfpu $with_fpu" \
3956 ${srcdir}/config/arm/arm-cpus.in`
3957 if [ "$fpu" = "error"]
3959 echo "Unknown target in --with-$which=$val" 1>&2
3966 | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
3970 echo "Unknown ABI used in --with-abi=$with_abi"
3975 case "$with_mode" in
3981 echo "Unknown mode used in --with-mode=$with_mode"
3992 echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
3997 if test "x$with_arch" != x && test "x$with_cpu" != x; then
3998 echo "Switch \"--with-arch\" may not be used with switch \"--with-cpu\"" 1>&2
4002 if test "x$with_cpu" != x && test "x$with_tune" != x; then
4003 echo "Switch \"--with-tune\" may not be used with switch \"--with-cpu\"" 1>&2
4007 # Add extra multilibs
4008 if test "x$with_multilib_list" != x; then
4010 arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
4011 if test "x${arm_multilibs}" != xdefault ; then
4012 for arm_multilib in ${arm_multilibs}; do
4013 case ${arm_multilib} in
4015 tmake_profile_file="arm/t-multilib"
4018 ml=`echo "X$arm_multilib" | sed '1s,^X@,,'`
4019 if test -f "${srcdir}/config/arm/${ml}"; then
4020 tmake_file="${tmake_file} arm/${ml}"
4022 echo "Error: ${ml} does not exist in ${srcdir}/config/arm" >&2
4027 echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
4034 if test "x${tmake_profile_file}" != x ; then
4035 # arm/t-aprofile and arm/t-rmprofile are only
4036 # designed to work without any with-cpu,
4037 # with-arch, with-mode, with-fpu or with-float
4039 if test "x$with_arch" != x \
4040 || test "x$with_cpu" != x \
4041 || test "x$with_float" != x \
4042 || test "x$with_fpu" != x \
4043 || test "x$with_mode" != x ; then
4044 echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
4046 elif test "x$ml" != x ; then
4047 echo "Error: You cannot use builtin multilib profiles along with custom ones" 1>&2
4050 # But pass the default value for float-abi
4051 # through to the multilib selector
4053 tmake_file="${tmake_file} ${tmake_profile_file}"
4054 TM_MULTILIB_CONFIG="$with_multilib_list"
4057 target_cpu_cname=${target_cpu_cname:-arm7tdmi}
4058 with_cpu=${with_cpu:-$target_cpu_cname}
4062 supported_defaults=cpu
4067 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4073 fido-*-* | m68k*-*-*)
4074 supported_defaults="arch cpu"
4075 case "$with_arch" in
4077 m68k_arch_family="$with_arch"
4080 echo "Invalid --with-arch=$with_arch" 1>&2
4085 # We always have a $with_cpu setting here.
4087 "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
4088 m68k_cpu_ident=$with_cpu
4091 m68k_cpu_ident=m68020
4092 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
4095 m68k_cpu_ident=m68020
4096 tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
4099 # We need the C identifier rather than the string.
4100 m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
4101 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
4102 $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
4103 ${srcdir}/config/m68k/m68k-devices.def`
4104 if [ x"$m68k_cpu_ident" = x ] ; then
4105 echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
4108 with_cpu="mcpu=$with_cpu"
4114 supported_defaults="arch tune"
4116 for which in arch tune; do
4117 eval "val=\$with_$which"
4119 "" | carrizo | fiji | gfx900 )
4123 echo "Unknown cpu used in --with-$which=$val." 1>&2
4128 [ "x$with_arch" = x ] && with_arch=fiji
4132 supported_defaults="arch schedule"
4134 case "$with_arch" in
4135 "" | 1.0 | 1.1 | 2.0)
4139 echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
4144 case "$with_schedule" in
4145 "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
4149 echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
4155 i[34567]86-*-* | x86_64-*-*)
4156 supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
4157 for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4158 eval "val=\$with_$which"
4159 case " $x86_archs " in
4167 echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
4176 if test x${val} != x; then
4177 case " $x86_64_archs " in
4182 # Allow $x86_cpus --with-cpu=/--with-tune=
4185 case " $x86_cpus " in
4190 echo "Unknown CPU given in --with-$which=$val." 1>&2
4196 echo "Unknown CPU given in --with-$which=$val." 1>&2
4209 supported_defaults="abi arch tune"
4212 riscv-* | riscv32*) xlen=32 ;;
4213 riscv64*) xlen=64 ;;
4214 *) echo "Unsupported RISC-V target ${target}" 1>&2; exit 1 ;;
4217 # Infer arch from --with-arch, --target, and --with-abi.
4218 case "${with_arch}" in
4219 rv32e* | rv32i* | rv32g* | rv64i* | rv64g*)
4223 # Infer XLEN, but otherwise assume GC.
4224 case "${with_abi}" in
4225 ilp32e) with_arch="rv32e" ;;
4226 ilp32 | ilp32f | ilp32d) with_arch="rv32gc" ;;
4227 lp64 | lp64f | lp64d) with_arch="rv64gc" ;;
4228 *) with_arch="rv${xlen}gc" ;;
4232 echo "--with-arch=${with_arch} is not supported. The argument must begin with rv32e, rv32i, rv32g, rv64i, or rv64g." 1>&2
4237 # Make sure --with-abi is valid. If it was not specified,
4238 # pick a default based on the ISA, preferring soft-float
4239 # unless the D extension is present.
4240 case "${with_abi}" in
4241 ilp32 | ilp32e | ilp32f | ilp32d | lp64 | lp64f | lp64d)
4244 case "${with_arch}" in
4245 rv32*d* | rv32g*) with_abi=ilp32d ;;
4246 rv32e*) with_abi=ilp32e ;;
4247 rv32*) with_abi=ilp32 ;;
4248 rv64*d* | rv64g*) with_abi=lp64d ;;
4249 rv64*) with_abi=lp64 ;;
4253 echo "--with-abi=${with_abi} is not supported" 1>&2
4258 # Make sure ABI and ISA are compatible.
4259 case "${with_abi},${with_arch}" in
4260 ilp32,rv32* | ilp32e,rv32e* \
4261 | ilp32f,rv32*f* | ilp32f,rv32g* \
4262 | ilp32d,rv32*d* | ilp32d,rv32g* \
4264 | lp64f,rv64*f* | lp64f,rv64g* \
4265 | lp64d,rv64*d* | lp64d,rv64g*)
4268 echo "--with-abi=${with_abi} is not supported for ISA ${with_arch}" 1>&2
4273 # Handle --with-multilib-list.
4274 if test "x${with_multilib_list}" != xdefault; then
4275 tm_file="${tm_file} riscv/withmultilib.h"
4276 tmake_file="${tmake_file} riscv/t-withmultilib"
4278 case ${with_multilib_list} in
4279 ilp32 | ilp32f | ilp32d \
4280 | lp64 | lp64f | lp64d )
4281 TM_MULTILIB_CONFIG="${with_arch},${with_multilib_list}"
4284 echo "--with-multilib-list=${with_multilib_list} not supported."
4288 # Define macros to select the default multilib.
4289 case ${with_arch} in
4291 tm_defines="${tm_defines} TARGET_MLIB_ARCH=1"
4294 tm_defines="${tm_defines} TARGET_MLIB_ARCH=2"
4297 echo "unsupported --with-arch for --with-multilib-list"
4302 tm_defines="${tm_defines} TARGET_MLIB_ABI=1"
4305 tm_defines="${tm_defines} TARGET_MLIB_ABI=2"
4308 tm_defines="${tm_defines} TARGET_MLIB_ABI=3"
4311 tm_defines="${tm_defines} TARGET_MLIB_ABI=4"
4314 tm_defines="${tm_defines} TARGET_MLIB_ABI=5"
4317 tm_defines="${tm_defines} TARGET_MLIB_ABI=6"
4320 echo "unsupported --with-abi for --with-multilib"
4327 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"
4329 case ${with_float} in
4334 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4340 "" | single | double)
4344 echo "Unknown fpu type used in --with-fpu=$with_fpu" 1>&2
4354 echo "Unknown NaN encoding used in --with-nan=$with_nan" 1>&2
4359 case ${with_fp_32} in
4364 echo "Unknown FP mode used in --with-fp-32=$with_fp_32" 1>&2
4369 case ${with_odd_spreg_32} in
4371 with_odd_spreg_32="odd-spreg"
4374 with_odd_spreg_32="no-odd-spreg"
4380 echo "Unknown odd-spreg-32 type used in --with-odd-spreg-32=$with_odd_spreg_32" 1>&2
4386 "" | 32 | o64 | n32 | 64 | eabi)
4390 echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
4395 case ${with_divide} in
4396 "" | breaks | traps)
4400 echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
4405 case ${with_llsc} in
4416 echo "Unknown llsc type used in --with-llsc" 1>&2
4421 case ${with_mips_plt} in
4426 with_mips_plt=no-plt
4431 echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
4436 case ${with_synci} in
4446 echo "Unknown synci type used in --with-synci" 1>&2
4451 case ${with_lxc1_sxc1} in
4453 with_lxc1_sxc1=lxc1-sxc1
4456 with_lxc1_sxc1=no-lxc1-sxc1
4461 echo "Unknown lxc1-sxc1 type used in --with-lxc1-sxc1" 1>&2
4466 case ${with_madd4} in
4476 echo "Unknown madd4 type used in --with-madd4" 1>&2
4483 supported_defaults="arch cpu nds32_lib float fpu_config"
4485 # process --with-arch
4486 case "${with_arch}" in
4488 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4492 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=0"
4495 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=1"
4498 tm_defines="${tm_defines} TARGET_ARCH_DEFAULT=2"
4502 echo "Cannot accept --with-arch=$with_arch, available values are: v2 v2j v3 v3m v3f v3s" 1>&2
4507 case "${with_cpu}" in
4511 n6 | n7 |n8 | e8 | s8 | n9 | n10 | d10 | n12 | n13 | n15)
4515 echo "Cannot accept --with-cpu=$with_cpu, available values are: n6 n7 n8 e8 s8 n9 n10 d10 n12 n13 n15" 1>&2
4520 # process --with-nds32-lib
4521 case "${with_nds32_lib}" in
4523 # the default library is newlib
4524 with_nds32_lib=newlib
4525 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4529 tm_defines="${tm_defines} TARGET_DEFAULT_CTOR_DTOR=1"
4533 # for the arch=v3f or arch=v3s under mculib toolchain,
4534 # we would like to set -fno-math-errno as default
4535 case "${with_arch}" in
4537 tm_defines="${tm_defines} TARGET_DEFAULT_NO_MATH_ERRNO=1"
4543 tm_defines="${tm_defines} TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0"
4548 echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib glibc uclibc" 1>&2
4553 # process --with-float
4554 case "${with_float}" in
4559 echo "Cannot accept --with-float=$with_float, available values are: soft hard" 1>&2
4564 # process --with-config-fpu
4565 case "${with_config_fpu}" in
4570 echo "Cannot accept --with-config-fpu=$with_config_fpu, available values from 0 to 7" 1>&2
4578 supported_defaults="arch"
4579 case "$with_arch" in
4584 echo "Unknown arch used in --with-arch=$with_arch" 1>&2
4590 powerpc*-*-* | rs6000-*-*)
4591 supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
4593 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4594 eval "val=\$with_$which"
4596 default32 | default64)
4601 echo "$val only valid for --with-cpu and --with-tune." 1>&2
4605 with_which="with_$which"
4609 tm_defines="${tm_defines} CONFIG_PPC405CR"
4610 eval "with_$which=405"
4612 "" | common | native \
4613 | power[3456789] | power5+ | power6x \
4614 | powerpc | powerpc64 | powerpc64le \
4616 | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
4617 | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
4618 | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
4619 | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
4620 | titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
4624 echo "Unknown cpu used in --with-$which=$val." 1>&2
4631 "" | elfv1 | elfv2 )
4635 echo "Unknown ABI used in --with-abi=$with_abi"
4640 if test "x$with_advance_toolchain" != x; then
4641 if test -d "/opt/$with_advance_toolchain/." -a \
4642 -d "/opt/$with_advance_toolchain/bin/." -a \
4643 -d "/opt/$with_advance_toolchain/include/."; then
4645 tm_file="$tm_file ./advance-toolchain.h"
4646 (at="/opt/$with_advance_toolchain"
4647 echo "/* Use Advance Toolchain $at */"
4649 echo "#undef LINK_OS_EXTRA_SPEC32"
4650 echo "#define LINK_OS_EXTRA_SPEC32" \
4651 "\"%(link_os_new_dtags)" \
4652 "-rpath $prefix/lib -rpath $at/lib" \
4653 "-L $prefix/lib -L $at/lib\""
4655 echo "#undef LINK_OS_EXTRA_SPEC64"
4656 echo "#define LINK_OS_EXTRA_SPEC64" \
4657 "\"%(link_os_new_dtags)" \
4658 "-rpath $prefix/lib64 -rpath $at/lib64" \
4659 "-L $prefix/lib64 -L $at/lib64\""
4661 echo "#undef LINK_OS_NEW_DTAGS_SPEC"
4662 echo "#define LINK_OS_NEW_DTAGS_SPEC" \
4663 "\"--enable-new-dtags\""
4665 echo "#undef DYNAMIC_LINKER_PREFIX"
4666 echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
4668 echo "#undef MD_EXEC_PREFIX"
4669 echo "#define MD_EXEC_PREFIX \"$at/bin/\""
4671 echo "#undef MD_STARTFILE_PREFIX"
4672 echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
4673 > advance-toolchain.h
4675 echo "Unknown advance-toolchain $with_advance_toolchain"
4680 # Set up the default long double format if the user changed it.
4681 if test x$with_long_double_format = xieee; then
4682 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=1"
4684 elif test x$with_long_double_format = xibm; then
4685 tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=0"
4690 supported_defaults="arch mode tune"
4692 for which in arch tune; do
4693 eval "val=\$with_$which"
4695 "" | native | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12)
4699 echo "Unknown cpu used in --with-$which=$val." 1>&2
4705 case ${with_mode} in
4710 echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
4716 sh[123456ble]*-*-* | sh-*-*)
4717 supported_defaults="cpu"
4718 case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
4719 "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
4722 m2a | m2a-single | m2a-single-only | m2a-nofpu)
4724 m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
4727 echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
4728 echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
4729 echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
4730 echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
4736 supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64"
4738 for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
4739 eval "val=\$with_$which"
4741 "" | sparc | sparcv9 | sparc64 \
4743 | v8 | supersparc | hypersparc | leon | leon3 | leon3v7 \
4744 | sparclite | f930 | f934 | sparclite86x \
4745 | sparclet | tsc701 \
4746 | v9 | ultrasparc | ultrasparc3 | niagara | niagara2 \
4747 | niagara3 | niagara4 | niagara7 | m8)
4751 echo "Unknown cpu used in --with-$which=$val" 1>&2
4757 case ${with_float} in
4762 echo "Unknown floating point type used in --with-float=$with_float" 1>&2
4769 supported_defaults="arch tune"
4771 for which in arch tune; do
4772 eval "val=\$with_$which"
4774 "" | cell | celledp)
4778 echo "Unknown cpu used in --with-$which=$val." 1>&2
4786 supported_defaults="arch"
4788 case ${with_arch} in
4789 "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
4793 echo "Unknown arch used in --with-arch=$with_arch." 1>&2
4800 supported_defaults=cpu
4802 "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
4806 echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4812 supported_defaults="cpu"
4816 *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
4823 # Targets for which there is at least one VxWorks port should include
4824 # vxworks-dummy.h to allow safe references to various TARGET_VXWORKS kinds
4825 # of markers from other files in the port, including the vxworks*.h files to
4826 # distinguish VxWorks variants such as VxWorks 7 or 64).
4829 arm*-*-* | i[34567]86-*-* | mips*-*-* | powerpc*-*-* | sh*-*-* \
4830 | sparc*-*-* | x86_64-*-*)
4831 tm_file="vxworks-dummy.h ${tm_file}"
4835 # Set some miscellaneous flags for particular targets.
4836 target_cpu_default2=
4839 if test x"$target_cpu_cname" != x
4841 target_cpu_default2=$target_cpu_cname
4846 if test x$with_cpu = x
4848 echo "Don't know the target cpu" 1>&2
4851 target_cpu_default2="\\\"$with_cpu\\\""
4856 if test x$gas = xyes
4858 target_cpu_default2="MASK_GAS"
4862 fido*-*-* | m68k*-*-*)
4863 target_cpu_default2=$m68k_cpu_ident
4864 tmake_file="m68k/t-opts $tmake_file"
4865 if [ x"$m68k_arch_family" != x ]; then
4866 tmake_file="m68k/t-$m68k_arch_family $tmake_file"
4870 i[34567]86-*-darwin* | x86_64-*-darwin*)
4872 i[34567]86-*-linux* | x86_64-*-linux*)
4873 extra_objs="${extra_objs} cet.o"
4874 tmake_file="$tmake_file i386/t-linux i386/t-cet"
4876 i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
4877 tmake_file="$tmake_file i386/t-kfreebsd"
4880 tmake_file="$tmake_file i386/t-gnu"
4882 i[34567]86-*-msdosdjgpp*)
4883 tmake_file="${tmake_file} i386/t-djgpp"
4885 i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
4887 i[34567]86-*-cygwin* | x86_64-*-cygwin*)
4889 i[34567]86-*-mingw* | x86_64-*-mingw*)
4891 i[34567]86-*-dragonfly* | x86_64-*-dragonfly*)
4893 i[34567]86-*-freebsd* | x86_64-*-freebsd*)
4899 if test x$gnu_ld = xyes
4901 target_cpu_default2="MASK_SPLIT_ADDRESSES"
4905 tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
4908 if test x$with_arch != x; then
4909 default_mips_arch=$with_arch
4911 if test x$with_abi != x; then
4912 default_mips_abi=$with_abi
4914 case ${default_mips_arch} in
4915 mips1) tm_defines="$tm_defines MIPS_ISA_DEFAULT=1" ;;
4916 mips2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=2" ;;
4917 mips3) tm_defines="$tm_defines MIPS_ISA_DEFAULT=3" ;;
4918 mips4) tm_defines="$tm_defines MIPS_ISA_DEFAULT=4" ;;
4919 mips32) tm_defines="$tm_defines MIPS_ISA_DEFAULT=32" ;;
4920 mips32r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=33" ;;
4921 mips32r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=37" ;;
4922 mips64) tm_defines="$tm_defines MIPS_ISA_DEFAULT=64" ;;
4923 mips64r2) tm_defines="$tm_defines MIPS_ISA_DEFAULT=65" ;;
4924 mips64r6) tm_defines="$tm_defines MIPS_ISA_DEFAULT=69" ;;
4926 case ${default_mips_abi} in
4927 32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_32" ;;
4928 o64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_O64" ;;
4929 n32) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_N32" ;;
4930 64) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_64" ;;
4931 eabi) tm_defines="$tm_defines MIPS_ABI_DEFAULT=ABI_EABI" ;;
4933 tmake_file="mips/t-mips $tmake_file"
4936 powerpc*-*-* | rs6000-*-*)
4937 # FIXME: The PowerPC port uses the value set at compile time,
4938 # although it's only cosmetic.
4939 if test "x$with_cpu" != x
4941 target_cpu_default2="\\\"$with_cpu\\\""
4943 out_file="${cpu_type}/${cpu_type}.c"
4944 c_target_objs="${c_target_objs} ${cpu_type}-c.o"
4945 cxx_target_objs="${cxx_target_objs} ${cpu_type}-c.o"
4946 d_target_objs="${d_target_objs} ${cpu_type}-d.o"
4947 tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}"
4950 sh[123456ble]*-*-* | sh-*-*)
4951 c_target_objs="${c_target_objs} sh-c.o"
4952 cxx_target_objs="${cxx_target_objs} sh-c.o"
4956 # Some standard aliases.
4961 xsparcv9 | xsparc64)
4966 if test x$with_tune = x ; then
4977 # The SPARC port checks this value at compile-time.
4978 target_cpu_default2="TARGET_CPU_$with_cpu"
4982 case "x$with_cpu" in
4985 xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
4986 target_cpu_default2="TARGET_CPU_$with_cpu"
4989 target_cpu_default2="TARGET_CPU_v850e1"
4994 target_cpu_default2="TARGET_CPU_$with_cpu"
4999 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"
5000 for option in $all_defaults
5002 eval "val=\$with_"`echo $option | sed s/-/_/g`
5003 if test -n "$val"; then
5004 case " $supported_defaults " in
5008 echo "This target does not support --with-$option." 2>&1
5009 echo "Valid --with options are: $supported_defaults" 2>&1
5016 t="{ \"$option\", \"$val\" }"
5018 t="${t}, { \"$option\", \"$val\" }"
5025 configure_default_options="{ { NULL, NULL} }"
5027 configure_default_options="{ ${t} }"
5030 if test "$target_cpu_default2" != ""
5032 if test "$target_cpu_default" != ""
5034 target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
5036 target_cpu_default=$target_cpu_default2
5041 i[34567]86-*-* | x86_64-*-*)
5042 if test x$enable_as_accelerator = xyes; then
5043 extra_programs="mkoffload\$(exeext)"