diff options
Diffstat (limited to 'libgcc/config.host')
-rw-r--r-- | libgcc/config.host | 139 |
1 files changed, 71 insertions, 68 deletions
diff --git a/libgcc/config.host b/libgcc/config.host index 16a45c81b8..b279a6458f 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -1,5 +1,5 @@ # libgcc host-specific configuration file. -# Copyright (C) 1997-2016 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. #This file is part of GCC. @@ -136,8 +136,6 @@ m32r*-*-*) ;; m68k-*-*) ;; -mep*-*-*) - ;; microblaze*-*-*) cpu_type=microblaze ;; @@ -169,6 +167,9 @@ powerpc*-*-*) ;; rs6000*-*-*) ;; +riscv*-*-*) + cpu_type=riscv + ;; sparc64*-*-*) cpu_type=sparc ;; @@ -230,7 +231,7 @@ case ${host} in ;; esac ;; -*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux" extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" if test x$enable_vtable_verify = xyes; then @@ -242,7 +243,8 @@ case ${host} in extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" ;; *-*-netbsd*) - tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip" + tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" # NetBSD 1.7 and later are set up to use GCC's crtstuff for # ELF configurations. We will clear extra_parts in the # a.out configurations. @@ -332,6 +334,13 @@ aarch64*-*-elf | aarch64*-*-rtems*) extra_parts="$extra_parts crtfastmath.o" tmake_file="${tmake_file} ${cpu_type}/t-aarch64" tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" + md_unwind_header=aarch64/aarch64-unwind.h + ;; +aarch64*-*-freebsd*) + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} ${cpu_type}/t-aarch64" + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" + md_unwind_header=aarch64/freebsd-unwind.h ;; aarch64*-*-linux*) extra_parts="$extra_parts crtfastmath.o" @@ -365,12 +374,14 @@ alpha*-dec-*vms*) md_unwind_header=alpha/vms-unwind.h ;; arc*-*-elf*) - tmake_file="arc/t-arc-newlib arc/t-arc" - extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o" + tmake_file="arc/t-arc" + extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o" + extra_parts="$extra_parts crttls.o" ;; arc*-*-linux-uclibc*) - tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc700-uClibc arc/t-arc" - extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o" + tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc-uClibc arc/t-arc" + extra_parts="$extra_parts crti.o crtn.o" + extra_parts="$extra_parts crttls.o" ;; arm-wrs-vxworks) tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" @@ -402,6 +413,13 @@ arm*-*-uclinux*) # ARM ucLinux unwind_header=config/arm/unwind-arm.h extra_parts="$extra_parts crti.o crtn.o" ;; +arm*-*-phoenix*) + tmake_file="t-hardfp t-softfp arm/t-arm arm/t-elf arm/t-softfp arm/t-phoenix" + tmake_file="${tmake_file} arm/t-bpabi" + tm_file="$tm_file arm/bpabi-lib.h" + extra_parts="crtbegin.o crtend.o crti.o crtn.o" + unwind_header=config/arm/unwind-arm.h + ;; arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix" tm_file="$tm_file arm/bpabi-lib.h" @@ -420,12 +438,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) extra_parts="$extra_parts crtfastmath.o" unwind_header=config/arm/unwind-arm.h ;; -avr-*-rtems*) - tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit" - tm_file="$tm_file avr/avr-lib.h" - # Don't use default. - extra_parts= - ;; avr-*-*) # Make HImode functions for AVR tmake_file="${cpu_type}/t-avr t-fpbit" @@ -493,11 +505,6 @@ ft32-*-elf) tmake_file="ft32/t-ft32 t-softfp-sfdf t-softfp-excl t-softfp" extra_parts="$extra_parts crti.o crti-hw.o crtn.o" ;; -h8300-*-rtems*) - tmake_file="$tmake_file h8300/t-h8300 t-fpbit" - tm_file="$tm_file h8300/h8300-lib.h" - extra_parts="$extra_parts crti.o crtn.o" - ;; h8300-*-elf*) tmake_file="$tmake_file h8300/t-h8300 t-fpbit" tm_file="$tm_file h8300/h8300-lib.h" @@ -542,6 +549,7 @@ hppa*64*-*-hpux11*) tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" fi tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" + tm_file="$tm_file pa/pa64-hpux-lib.h" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ libgcc_stub.a" md_unwind_header=pa/hpux-unwind.h @@ -597,12 +605,11 @@ x86_64-*-freebsd*) md_unwind_header=i386/freebsd-unwind.h ;; i[34567]86-*-netbsdelf*) + tmake_file="${tmake_file} i386/t-crtstuff" ;; x86_64-*-netbsd*) tmake_file="${tmake_file} i386/t-crtstuff" ;; -i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) - ;; i[34567]86-*-openbsd*) ;; x86_64-*-openbsd*) @@ -613,7 +620,7 @@ i[34567]86-*-linux*) tm_file="${tm_file} i386/elf-lib.h" md_unwind_header=i386/linux-unwind.h ;; -i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) +i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" tm_file="${tm_file} i386/elf-lib.h" @@ -624,7 +631,7 @@ x86_64-*-linux*) tm_file="${tm_file} i386/elf-lib.h" md_unwind_header=i386/linux-unwind.h ;; -x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) +x86_64-*-kfreebsd*-gnu) extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" tm_file="${tm_file} i386/elf-lib.h" @@ -638,7 +645,7 @@ i[34567]86-*-nto-qnx*) extra_parts=crtbegin.o ;; i[34567]86-*-rtems*) - tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp" + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/t-softfp t-softfp" extra_parts="$extra_parts crti.o crtn.o" ;; i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) @@ -676,6 +683,9 @@ x86_64-*-cygwin*) # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h if test x$ac_cv_sjlj_exceptions = xyes; then tmake_eh_file="i386/t-sjlj-eh" + elif test "${host_address}" = 32; then + # biarch -m32 with --disable-sjlj-exceptions + tmake_eh_file="i386/t-dw2-eh" else tmake_eh_file="i386/t-seh-eh" fi @@ -728,6 +738,10 @@ x86_64-*-mingw*) # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h if test x$ac_cv_sjlj_exceptions = xyes; then tmake_eh_file="i386/t-sjlj-eh" + elif test "${host_address}" = 32; then + # biarch -m32 with --disable-sjlj-exceptions + tmake_eh_file="i386/t-dw2-eh" + md_unwind_header=i386/w32-unwind.h else tmake_eh_file="i386/t-seh-eh" fi @@ -743,16 +757,13 @@ x86_64-*-mingw*) extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" fi ;; -i[34567]86-*-interix[3-9]*) - tmake_file="$tmake_file i386/t-interix i386/t-chkstk" - ;; ia64*-*-elf*) extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o" - tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" + tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat" ;; ia64*-*-freebsd*) extra_parts="$extra_parts crtfastmath.o" - tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat" ;; ia64*-*-linux*) # Don't use crtbeginT.o from *-*-linux* default. @@ -767,7 +778,7 @@ ia64*-*-hpux*) tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux" ;; ia64-hp-*vms*) - tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms" + tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms t-softfp-tf ia64/t-softfp t-softfp" extra_parts="$extra_parts crtinitS.o" md_unwind_header=ia64/vms-unwind.h ;; @@ -789,12 +800,9 @@ lm32-*-uclinux*) tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp" ;; m32r-*-elf*) - tmake_file=t-fdpbit - ;; -m32r-*-rtems*) tmake_file="$tmake_file m32r/t-m32r t-fdpbit" extra_parts="$extra_parts crtinit.o crtfini.o" - ;; + ;; m32rle-*-elf*) tmake_file=t-fdpbit ;; @@ -1088,6 +1096,15 @@ powerpcle-*-eabi*) tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" ;; +riscv*-*-linux*) + tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o" + md_unwind_header=riscv/linux-unwind.h + ;; +riscv*-*-*) + tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" + ;; rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) md_unwind_header=rs6000/aix-unwind.h tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble" @@ -1131,10 +1148,6 @@ sh-*-elf* | sh[12346l]*-*-elf*) libic_invalidate_array_4-200.a \ libic_invalidate_array_4a.a \ libgcc-Os-4-200.a libgcc-4-300.a" - case ${host} in sh64*-*-*) - tmake_file="$tmake_file sh/t-sh64" - ;; - esac case ${host} in sh*-superh-elf) tmake_file="$tmake_file sh/t-superh" @@ -1144,20 +1157,11 @@ sh-*-elf* | sh[12346l]*-*-elf*) ;; sh-*-linux* | sh[2346lbe]*-*-linux*) tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit" - case ${host} in sh64*-*-linux*) - tmake_file="$tmake_file sh/t-sh64" - ;; - esac md_unwind_header=sh/linux-unwind.h ;; -sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ - sh64-*-netbsd* | sh64l*-*-netbsd*) +sh-*-netbsdelf* | shl*-*-netbsdelf*) tmake_file="$tmake_file sh/t-sh sh/t-netbsd" - case ${host} in - sh5*-*-netbsd* | sh64*-netbsd*) - tmake_file="$tmake_file sh/t-sh64" - ;; - esac + # NetBSD's C library includes a fast software FP library that # has support for setting/setting the rounding mode, exception # mask, etc. Therefore, we don't want to include software FP @@ -1279,7 +1283,7 @@ tilegx*-*-linux*) md_unwind_header=tilepro/linux-unwind.h ;; tilepro*-*-linux*) - tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro" + tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro t-slibgcc-libgcc" md_unwind_header=tilepro/linux-unwind.h ;; v850*-*-*) @@ -1320,10 +1324,6 @@ am33_2.0-*-linux*) m32c-*-elf*|m32c-*-rtems*) tmake_file="$tmake_file m32c/t-m32c" ;; -mep*-*-*) - tmake_file="mep/t-mep t-fdpbit" - extra_parts="crtbegin.o crtend.o" - ;; nvptx-*) tmake_file="$tmake_file nvptx/t-nvptx" extra_parts="crt0.o" @@ -1336,14 +1336,20 @@ esac case ${host} in i[34567]86-*-* | x86_64-*-*) - tmake_file="${tmake_file} i386/t-cpuinfo" + case ${host} in + *-musl*) + tmake_file="${tmake_file} i386/t-cpuinfo-static" + ;; + *) + tmake_file="${tmake_file} i386/t-cpuinfo" + ;; + esac ;; esac case ${host} in i[34567]86-*-linux* | x86_64-*-linux* | \ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ - i[34567]86-*-knetbsd*-gnu | \ i[34567]86-*-gnu*) tmake_file="${tmake_file} t-tls i386/t-linux t-slibgcc-libgcc" if test "$libgcc_cv_cfi" = "yes"; then @@ -1353,17 +1359,10 @@ i[34567]86-*-linux* | x86_64-*-linux* | \ esac case ${host} in -i[34567]86-*-darwin* | x86_64-*-darwin* | \ - i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ - i[34567]86-*-linux* | x86_64-*-linux* | \ - i[34567]86-*-msdosdjgpp* | \ - i[34567]86-*-gnu* | \ - i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \ - i[34567]86-*-cygwin* | x86_64-*-cygwin* | \ - i[34567]86-*-mingw* | x86_64-*-mingw* | \ - i[34567]86-*-dragonfly* | x86_64-*-dragonfly* | \ - i[34567]86-*-freebsd* | x86_64-*-freebsd* | \ - i[34567]86-*-openbsd* | x86_64-*-openbsd*) +i[34567]86-*-elfiamcu | i[34567]86-*-rtems*) + # These use soft-fp for SFmode and DFmode, not just TFmode. + ;; +i[34567]86-*-* | x86_64-*-*) tmake_file="${tmake_file} t-softfp-tf" if test "${host_address}" = 32; then tmake_file="${tmake_file} i386/${host_address}/t-softfp" @@ -1380,4 +1379,8 @@ i[34567]86-*-linux* | x86_64-*-linux*) fi tm_file="${tm_file} i386/value-unwind.h" ;; +aarch64*-*-*) + # ILP32 needs an extra header for unwinding + tm_file="${tm_file} aarch64/value-unwind.h" + ;; esac |