comparison gcc/config.gcc @ 16:04ced10e8804

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