X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.gcc;h=51d9c264450ad356410e8ac6864535a0ce53442a;hb=2487a40979b88c23eb984da36faf782e10fe4bf8;hp=3b74b689a5279086588c7ad1677c9a2940a879ef;hpb=4e38d1504f2157a6d54a12d0e296479e6ecdd49f;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.gcc b/gcc/config.gcc index 3b74b689a52..51d9c264450 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -45,6 +45,16 @@ # default value of $default_use_cxa_atexit is set to # "no" except for targets which are known to be OK. # +# default_gnu_indirect_function +# The default value for the $enable_gnu_indirect_function +# variable. enable_gnu_indirect_function relies +# upon the presence of a non-standard gnu ifunc support +# in the assembler, linker and dynamic linker. +# Since not all libraries provide the dynamic linking +# support, the default value of +# $default_gnu_indirect_function is set to +# "no" except for targets which are known to be OK. +# # gas_flag Either yes or no depending on whether GNU as was # requested. # @@ -101,6 +111,12 @@ # extra_headers List of used header files from the directory # config/${cpu_type}. # +# user_headers_inc_next_pre +# List of header file names of internal gcc header +# files, which should be prefixed by an include_next. +# user_headers_inc_next_post +# List of header file names of internal gcc header +# files, which should be postfixed by an include_next. # use_gcc_tgmath If set, add tgmath.h to the list of used header # files. # @@ -171,6 +187,8 @@ out_file= tmake_file= extra_headers= +user_headers_inc_next_pre= +user_headers_inc_next_post= use_gcc_tgmath=yes use_gcc_stdint=none extra_passes= @@ -197,11 +215,10 @@ thread_file= gas="$gas_flag" gnu_ld="$gnu_ld_flag" default_use_cxa_atexit=no +default_gnu_indirect_function=no target_gtfiles= need_64bit_hwint= need_64bit_isa= -# Selects the object file format reader/writer used by LTO. -lto_binary_reader=lto-elf # Don't carry these over build->host->target. Please. xm_file= @@ -259,6 +276,7 @@ m32c*-*-*) alpha*-*-*) cpu_type=alpha need_64bit_hwint=yes + extra_options="${extra_options} g.opt" ;; am33_2.0-*-linux*) cpu_type=mn10300 @@ -281,6 +299,7 @@ crisv32-*) cpu_type=cris ;; frv*) cpu_type=frv + extra_options="${extra_options} g.opt" ;; moxie*) cpu_type=moxie ;; @@ -292,42 +311,54 @@ i[34567]86-*-*) cpu_type=i386 c_target_objs="i386-c.o" cxx_target_objs="i386-c.o" + extra_options="${extra_options} fused-madd.opt" extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h immintrin.h x86intrin.h avxintrin.h xopintrin.h ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h - abmintrin.h" + abmintrin.h bmiintrin.h tbmintrin.h" ;; x86_64-*-*) cpu_type=i386 c_target_objs="i386-c.o" cxx_target_objs="i386-c.o" + extra_options="${extra_options} fused-madd.opt" extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h immintrin.h x86intrin.h avxintrin.h xopintrin.h ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h - abmintrin.h" + abmintrin.h bmiintrin.h tbmintrin.h" need_64bit_hwint=yes ;; ia64-*-*) extra_headers=ia64intrin.h need_64bit_hwint=yes + extra_options="${extra_options} g.opt fused-madd.opt" ;; hppa*-*-*) cpu_type=pa ;; +lm32*) + extra_options="${extra_options} g.opt" + ;; m32r*-*-*) cpu_type=m32r + extra_options="${extra_options} g.opt" ;; m68k-*-*) extra_headers=math-68881.h ;; +microblaze*-*-*) + cpu_type=microblaze + extra_options="${extra_options} g.opt" + ;; mips*-*-*) cpu_type=mips need_64bit_hwint=yes extra_headers="loongson.h" + extra_options="${extra_options} g.opt" ;; picochip-*-*) cpu_type=picochip @@ -341,12 +372,15 @@ powerpc*-*-*) cpu_is_64bit=yes ;; esac + extra_options="${extra_options} g.opt fused-madd.opt" ;; rs6000*-*-*) need_64bit_hwint=yes + extra_options="${extra_options} g.opt fused-madd.opt" ;; score*-*-*) cpu_type=score + extra_options="${extra_options} g.opt" ;; sparc*-*-*) cpu_type=sparc @@ -359,12 +393,16 @@ spu*-*-*) s390*-*-*) cpu_type=s390 need_64bit_hwint=yes + extra_options="${extra_options} fused-madd.opt" ;; # Note the 'l'; we need to be able to match e.g. "shle" or "shl". sh[123456789lbe]*-*-* | sh-*-*) cpu_type=sh need_64bit_hwint=yes ;; +xtensa*-*-*) + extra_options="${extra_options} fused-madd.opt" + ;; esac tm_file=${cpu_type}/${cpu_type}.h @@ -387,6 +425,9 @@ i[34567]86-*-*) if test "x$enable_cld" = xyes; then tm_defines="${tm_defines} USE_IX86_CLD=1" fi + if test "x$enable_frame_pointer" = xyes; then + tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" + fi tm_file="vxworks-dummy.h ${tm_file}" ;; x86_64-*-*) @@ -394,6 +435,9 @@ x86_64-*-*) if test "x$enable_cld" = xyes; then tm_defines="${tm_defines} USE_IX86_CLD=1" fi + if test "x$enable_frame_pointer" = xyes; then + tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" + fi tm_file="vxworks-dummy.h ${tm_file}" ;; esac @@ -405,6 +449,9 @@ case ${target} in ;; esac +# Common C libraries. +tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" + # Common parts for widely ported systems. case ${target} in *-*-darwin*) @@ -485,6 +532,7 @@ case ${target} in ;; esac fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h" + extra_options="$extra_options rpath.opt freebsd.opt" case ${target} in *-*-freebsd[345].*) :;; @@ -508,8 +556,6 @@ case ${target} in *-*-gnu*) tmake_file="$tmake_file t-gnu";; esac - # Common C libraries. - tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" # glibc / uclibc / bionic switch. # uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD. case $target in @@ -612,6 +658,9 @@ case ${target} in *-*-uclinux*) use_gcc_stdint=wrap ;; +*-*-solaris2*) + extra_options="${extra_options} sol2.opt" + ;; *-*-vxworks*) tmake_file=t-vxworks xm_defines=POSIX @@ -683,6 +732,7 @@ alpha*-dec-osf5.1*) tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf5" tm_file="${tm_file} alpha/osf5.h" tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1" + extra_options="${extra_options} rpath.opt" extra_headers=va_list.h use_gcc_stdint=provide case ${enable_threads} in @@ -695,7 +745,7 @@ alpha*-dec-osf5.1*) alpha64-dec-*vms*) tm_file="${tm_file} alpha/vms.h alpha/vms64.h" xm_file="alpha/xm-vms.h vms/xm-vms64.h" - tmake_file="alpha/t-alpha vms/t-vms vms/t-vms64 alpha/t-vms alpha/t-ieee" + tmake_file="alpha/t-alpha vms/t-vms alpha/t-vms alpha/t-ieee" xmake_file=vms/x-vms exeext=.exe install_headers_dir=install-headers-cp @@ -711,7 +761,7 @@ alpha*-dec-*vms*) extra_options="${extra_options} vms/vms.opt" ;; arc-*-elf*) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" extra_parts="crtinit.o crtfini.o" ;; arm-wrs-vxworks) @@ -743,6 +793,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF case ${target} in arm*-*-linux-*eabi) tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h" + tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h" tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc" # Define multilib configuration for arm-linux-androideabi. case ${target} in @@ -770,6 +821,7 @@ arm*-*-uclinux*) # ARM ucLinux case ${target} in arm*-*-uclinux*eabi) tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h" + tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h" tmake_file="$tmake_file arm/t-bpabi" # The BPABI long long divmod functions return a 128-bit value in # registers r0-r3. Correctly modeling that requires the use of @@ -793,6 +845,7 @@ arm*-*-eabi* | arm*-*-symbianelf* ) need_64bit_hwint=yes default_use_cxa_atexit=yes tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" + tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h" tmake_file="arm/t-arm arm/t-arm-elf" case ${target} in arm*-*-eabi*) @@ -864,7 +917,7 @@ bfin*-linux-uclibc*) use_collect2=no ;; bfin*-rtems*) - tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h" + tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h newlib-stdint.h" tmake_file="bfin/t-bfin t-rtems bfin/t-rtems" ;; bfin*-*) @@ -889,7 +942,7 @@ cris-*-elf | cris-*-none) use_gcc_stdint=wrap ;; crisv32-*-linux* | cris-*-linux*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h glibc-stdint.h cris/linux.h" + tm_file="dbxelf.h elfos.h ${tm_file} linux.h glibc-stdint.h cris/linux.h" # We need to avoid using t-linux, so override default tmake_file tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux" extra_options="${extra_options} cris/linux.opt" @@ -908,35 +961,41 @@ crx-*-elf) use_collect2=no ;; fr30-*-elf) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" tmake_file=fr30/t-fr30 extra_parts="crti.o crtn.o crtbegin.o crtend.o" ;; frv-*-elf) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} frv/frv-abi.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tm_file="${tm_file} ../../libgcc/config/frv/frv-abi.h" tmake_file=frv/t-frv ;; frv-*-*linux*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \ - linux.h glibc-stdint.h frv/linux.h frv/frv-abi.h" + tm_file="dbxelf.h elfos.h ${tm_file} \ + linux.h glibc-stdint.h frv/linux.h" + tm_file="${tm_file} ../../libgcc/config/frv/frv-abi.h" tmake_file="${tmake_file} frv/t-frv frv/t-linux" ;; moxie-*-elf) gas=yes gnu_ld=yes - tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" + tm_file="dbxelf.h elfos.h ${tm_file}" extra_parts="crti.o crtn.o crtbegin.o crtend.o" tmake_file="${tmake_file} moxie/t-moxie moxie/t-moxie-softfp soft-fp/t-softfp" ;; moxie-*-uclinux*) gas=yes gnu_ld=yes - tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h glibc-stdint.h moxie/uclinux.h" + tm_file="dbxelf.h elfos.h ${tm_file} linux.h glibc-stdint.h moxie/uclinux.h" extra_parts="crti.o crtn.o crtbegin.o crtend.o" tmake_file="${tmake_file} moxie/t-moxie moxie/t-moxie-softfp soft-fp/t-softfp" tm_defines="${tm_defines} DEFAULT_LIBC=LIBC_UCLIBC" extra_options="${extra_options} linux.opt" ;; +moxie-*-rtems*) + tmake_file="${tmake_file} moxie/t-moxie moxie/t-moxie-softfp soft-fp/t-softfp t-rtems" + tm_file="moxie/moxie.h dbxelf.h elfos.h moxie/rtems.h rtems.h newlib-stdint.h" + ;; h8300-*-rtems*) tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems" tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h newlib-stdint.h" @@ -947,7 +1006,7 @@ h8300-*-elf*) ;; hppa*64*-*-linux*) target_cpu_default="MASK_PA_11|MASK_PA_20" - tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \ + tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h linux.h \ glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \ pa/pa64-linux.h" tmake_file="${tmake_file} pa/t-linux64" @@ -956,7 +1015,7 @@ hppa*64*-*-linux*) ;; hppa*-*-linux*) target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS" - tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h pa/pa-linux.h \ + tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h pa/pa-linux.h \ pa/pa32-regs.h pa/pa32-linux.h" tmake_file="${tmake_file} pa/t-linux t-slibgcc-libgcc" # Set the libgcc version number @@ -1006,6 +1065,10 @@ hppa[12]*-*-hpux10*) fi use_collect2=yes gas=yes + if test "x$with_dwarf2" != x; then + echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2 + dwarf2=no + fi ;; hppa*64*-*-hpux11*) target_cpu_default="MASK_PA_11|MASK_PA_20" @@ -1076,6 +1139,7 @@ hppa[12]*-*-hpux11*) else tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" fi + extra_parts="libgcc_stub.a" case x${enable_threads} in x | xyes | xposix ) thread_file=posix @@ -1093,24 +1157,22 @@ hppa[12]*-*-hpux11*) tm_file="${tm_file} hpux-stdint.h" ;; esac + if test "x$with_dwarf2" != x; then + echo "Warning: dwarf2 debug format is not supported for this target, --with-dwarf2 ignored" 1>&2 + dwarf2=no + fi ;; i[34567]86-*-darwin*) need_64bit_hwint=yes need_64bit_isa=yes - - # This is so that '.../configure && make' doesn't fail due to - # config.guess deciding that the configuration is i386-*-darwin* and - # then this file using that to set --with-cpu=i386 which has no -m64 - # support. - with_cpu=${with_cpu:-generic} + # Baseline choice for a machine that allows m64 support. + with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} t-slibgcc-darwin i386/t-crtpc i386/t-crtfm" - lto_binary_reader=lto-macho ;; x86_64-*-darwin*) - with_cpu=${with_cpu:-generic} + with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-crtpc i386/t-crtfm" tm_file="${tm_file} ${cpu_type}/darwin64.h" - lto_binary_reader=lto-macho ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h" @@ -1159,6 +1221,8 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h" case ${target} in i[34567]86-*-linux*) + # Assume modern glibc + default_gnu_indirect_function=yes if test x$enable_targets = xall; then tm_file="${tm_file} i386/x86-64.h i386/linux64.h" tm_defines="${tm_defines} TARGET_BI_ARCH=1" @@ -1166,7 +1230,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i need_64bit_hwint=yes need_64bit_isa=yes case X"${with_cpu}" in - Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xbdver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) + Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) ;; X) if test x$with_cpu_64 = x; then @@ -1175,7 +1239,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 - echo "generic atom core2 nocona x86-64 bdver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 + echo "generic atom core2 corei7 corei7-avx nocona x86-64 bdver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 exit 1 ;; esac @@ -1194,6 +1258,8 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h \ i386/x86-64.h i386/linux64.h" case ${target} in + x86_64-*-linux*) + default_gnu_indirect_function=glibc-2011 ;; x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;; x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;; esac @@ -1253,13 +1319,10 @@ i[34567]86-*-solaris2*) # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. case ${target} in - *-*-solaris2.8*) - if test x$gas = xyes; then - with_arch_32=${with_arch_32:-pentium4} - else - # Solaris 8/x86 as cannot handle sse2. - with_arch_32=${with_arch_32:-pentiumpro} - fi + *-*-solaris2.[89]*) + # Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by + # default. + with_arch_32=${with_arch_32:-pentiumpro} ;; *) with_arch_32=${with_arch_32:-pentium4} @@ -1305,7 +1368,7 @@ i[34567]86-*-solaris2*) need_64bit_isa=yes use_gcc_stdint=wrap case X"${with_cpu}" in - Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xbdver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) + Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) ;; X) if test x$with_cpu_64 = x; then @@ -1314,7 +1377,7 @@ i[34567]86-*-solaris2*) ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 - echo "generic atom core2 nocona x86-64 bdver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 + echo "generic atom core2 corei7 corei7-avx nocona x86-64 bdver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 exit 1 ;; esac @@ -1358,14 +1421,12 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*) target_gtfiles="\$(srcdir)/config/i386/winnt.c" extra_options="${extra_options} i386/cygming.opt" extra_objs="winnt.o winnt-stubs.o" - c_target_objs="${c_target_objs} cygwin2.o msformat-c.o" - cxx_target_objs="${cxx_target_objs} cygwin2.o winnt-cxx.o msformat-c.o" - extra_gcc_objs=cygwin1.o + c_target_objs="${c_target_objs} msformat-c.o" + cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" if test x$enable_threads = xyes; then thread_file='posix' fi use_gcc_stdint=wrap - lto_binary_reader=lto-coff ;; i[34567]86-*-mingw* | x86_64-*-mingw*) tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h" @@ -1381,11 +1442,13 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) # This makes the logic if mingw's or the w64 feature set has to be used case ${target} in *-w64-*) + user_headers_inc_next_post="${user_headers_inc_next_post} float.h" + user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h" tm_file="${tm_file} i386/mingw-w64.h" if test x$enable_targets = xall; then tm_defines="${tm_defines} TARGET_BI_ARCH=1" case X"${with_cpu}" in - Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xbdver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) + Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) ;; X) if test x$with_cpu_64 = x; then @@ -1394,7 +1457,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 - echo "generic atom core2 nocona x86-64 bdver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 + echo "generic atom core2 corei7 Xcorei7-avx nocona x86-64 bdver1 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 exit 1 ;; esac @@ -1410,7 +1473,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) else tmake_eh_file="i386/t-sjlj-eh" fi - tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming" + tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming t-dfprules" case ${target} in x86_64-w64-*) tmake_file="${tmake_file} i386/t-mingw-w64" @@ -1436,7 +1499,6 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" default_use_cxa_atexit=yes use_gcc_stdint=wrap - lto_binary_reader=lto-coff case ${enable_threads} in "" | yes | win32) thread_file='win32' tmake_file="${tmake_file} i386/t-gthr-win32" @@ -1460,6 +1522,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) i[34567]86-*-interix3*) 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" tmake_file="${tmake_file} i386/t-interix" + extra_options="${extra_options} rpath.opt" extra_objs=winnt.o target_gtfiles="\$(srcdir)/config/i386/winnt.c" if test x$enable_threads = xyes ; then @@ -1490,7 +1553,7 @@ ia64*-*-freebsd*) extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" ;; ia64*-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h" + tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h" tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc" if test x$with_system_libunwind != xyes ; then tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind" @@ -1499,7 +1562,7 @@ ia64*-*-linux*) extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" ;; ia64*-*-hpux*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h" + tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/hpux.h" tmake_file="ia64/t-ia64 ia64/t-hpux" target_cpu_default="MASK_GNU_AS" case x$enable_threads in @@ -1517,7 +1580,7 @@ ia64*-*-hpux*) ia64-hp-*vms*) tm_file="${tm_file} elfos.h ia64/sysv4.h ia64/elf.h ia64/vms.h ia64/vms64.h" xm_file="vms/xm-vms.h vms/xm-vms64.h" - tmake_file="vms/t-vms vms/t-vms64 ia64/t-ia64 ia64/t-vms" + tmake_file="vms/t-vms ia64/t-ia64 ia64/t-vms" xmake_file=vms/x-vms target_cpu_default="0" if test x$gas = xyes @@ -1529,7 +1592,7 @@ ia64-hp-*vms*) extra_options="${extra_options} vms/vms.opt" ;; iq2000*-*-elf*) - tm_file="svr4.h elfos.h newlib-stdint.h iq2000/iq2000.h" + tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h" tmake_file=iq2000/t-iq2000 out_file=iq2000/iq2000.c md_file=iq2000/iq2000.md @@ -1539,7 +1602,7 @@ lm32-*-elf*) tmake_file="${tmake_file} lm32/t-lm32 lm32/t-fprules-softfp soft-fp/t-softfp" ;; lm32-*-rtems*) - tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h" + tm_file="dbxelf.h elfos.h ${tm_file} lm32/rtems.h rtems.h newlib-stdint.h" tmake_file="${tmake_file} lm32/t-lm32 lm32/t-fprules-softfp soft-fp/t-softfp" tmake_file="${tmake_file} t-rtems" ;; @@ -1548,20 +1611,20 @@ lm32-*-uclinux*) tmake_file="${tmake_file} lm32/t-lm32 lm32/t-fprules-softfp soft-fp/t-softfp" ;; m32r-*-elf*) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" extra_parts="crtinit.o crtfini.o" ;; m32rle-*-elf*) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h m32r/little.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h m32r/little.h ${tm_file}" extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o" ;; m32r-*-rtems*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h" + tm_file="dbxelf.h elfos.h ${tm_file} m32r/rtems.h rtems.h newlib-stdint.h" tmake_file="m32r/t-m32r t-rtems" extra_parts="crtinit.o crtfini.o" ;; m32r-*-linux*) - tm_file="dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h" + tm_file="dbxelf.h elfos.h linux.h glibc-stdint.h ${tm_file} m32r/linux.h" # We override the tmake_file for linux -- why? tmake_file="t-slibgcc-elf-ver m32r/t-linux" gnu_ld=yes @@ -1570,7 +1633,7 @@ m32r-*-linux*) fi ;; m32rle-*-linux*) - tm_file="dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h" + tm_file="dbxelf.h elfos.h linux.h glibc-stdint.h m32r/little.h ${tm_file} m32r/linux.h" # We override the tmake_file for linux -- why? tmake_file="t-slibgcc-elf-ver m32r/t-linux" gnu_ld=yes @@ -1658,7 +1721,7 @@ m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux # ABI. default_m68k_cpu=68020 default_cf_cpu=5206 - tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h" + tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h" tm_defines="${tm_defines} MOTOROLA=1 DEFAULT_LIBC=LIBC_UCLIBC" extra_options="${extra_options} linux.opt" tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs" @@ -1669,7 +1732,7 @@ m68k-*-linux*) # Motorola m68k's running GNU/Linux default_m68k_cpu=68020 default_cf_cpu=5475 with_arch=${with_arch:-m68k} - tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h" + tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h" extra_options="${extra_options} m68k/ieee.opt" tm_defines="${tm_defines} MOTOROLA=1" tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs" @@ -1688,7 +1751,7 @@ m68k-*-rtems*) extra_parts="crtbegin.o crtend.o" ;; mcore-*-elf) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" tmake_file=mcore/t-mcore inhibit_libc=true ;; @@ -1699,7 +1762,7 @@ mcore-*-pe*) use_gcc_stdint=wrap ;; mep-*-*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" + tm_file="dbxelf.h elfos.h ${tm_file}" tmake_file=mep/t-mep extra_parts="crtbegin.o crtend.o" c_target_objs="mep-pragma.o" @@ -1710,9 +1773,23 @@ mep-*-*) fi use_gcc_stdint=wrap ;; +microblaze*-linux*) + tm_file="${tm_file} dbxelf.h linux.h microblaze/linux.h" + c_target_objs="${c_target_objs} microblaze-c.o" + cxx_target_objs="${cxx_target_objs} microblaze-c.o" + tmake_file="${tmake_file} t-slibgcc-elf-ver t-slibgcc-nolc-override t-linux microblaze/t-microblaze" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o crtbeginT.o" + ;; +microblaze*-*-*) + tm_file="${tm_file} dbxelf.h" + c_target_objs="${c_target_objs} microblaze-c.o" + cxx_target_objs="${cxx_target_objs} microblaze-c.o" + tmake_file="${tmake_file} microblaze/t-microblaze" + ;; mips-sgi-irix6.5*) tm_file="elfos.h ${tm_file} mips/iris6.h" tmake_file="mips/t-iris mips/t-iris6 mips/t-slibgcc-irix" + extra_options="${extra_options} rpath.opt" target_cpu_default="MASK_ABICALLS" tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32" # Only IRIX Development Foundation 1.3 for IRIX 6.5 provides stdint.h. @@ -1734,7 +1811,7 @@ mips*-*-netbsd*) # NetBSD/mips, either endian. tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h" ;; mips64*-*-linux* | mipsisa64*-*-linux*) - tm_file="dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h ${tm_file} mips/linux.h mips/linux64.h" + tm_file="dbxelf.h elfos.h linux.h glibc-stdint.h ${tm_file} mips/linux.h mips/linux64.h" tmake_file="${tmake_file} mips/t-linux64 mips/t-libgcc-mips16" tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32" case ${target} in @@ -1750,12 +1827,13 @@ mips64*-*-linux* | mipsisa64*-*-linux*) tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65" ;; esac + extra_parts="$extra_parts crtfastmath.o" gnu_ld=yes gas=yes test x$with_llsc != x || with_llsc=yes ;; mips*-*-linux*) # Linux MIPS, either endian. - tm_file="dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h ${tm_file} mips/linux.h" + tm_file="dbxelf.h elfos.h linux.h glibc-stdint.h ${tm_file} mips/linux.h" tmake_file="${tmake_file} mips/t-libgcc-mips16" case ${target} in mipsisa32r2*) @@ -1764,6 +1842,7 @@ mips*-*-linux*) # Linux MIPS, either endian. mipsisa32*) tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32" esac + extra_parts="$extra_parts crtfastmath.o" test x$with_llsc != x || with_llsc=yes ;; mips*-*-openbsd*) @@ -1779,6 +1858,7 @@ mips*-*-openbsd*) mips*-sde-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h" tmake_file="mips/t-sde mips/t-libgcc-mips16" + extra_options="${extra_options} mips/sde.opt" case "${with_newlib}" in yes) # newlib / libgloss. @@ -1881,7 +1961,7 @@ mips*-*-rtems*) tmake_file="mips/t-elf mips/t-libgcc-mips16 t-rtems mips/t-rtems" ;; mips-wrs-vxworks) - tm_file="elfos.h ${tm_file} svr4.h mips/elf.h vx-common.h vxworks.h mips/vxworks.h" + tm_file="elfos.h ${tm_file} mips/elf.h vx-common.h vxworks.h mips/vxworks.h" tmake_file="${tmake_file} mips/t-vxworks" ;; mipstx39-*-elf* | mipstx39el-*-elf*) @@ -1894,7 +1974,7 @@ mmix-knuth-mmixware) use_gcc_stdint=wrap ;; mn10300-*-*) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" if test x$stabs = xyes then tm_file="${tm_file} dbx.h" @@ -1909,6 +1989,7 @@ pdp11-*-*) picochip-*) tm_file="${tm_file} newlib-stdint.h" use_gcc_stdint=wrap + tmake_file="picochip/t-picochip t-pnt16-warn" ;; # port not yet contributed #powerpc-*-openbsd*) @@ -1930,7 +2011,6 @@ powerpc-*-darwin*) ;; esac tmake_file="${tmake_file} t-slibgcc-darwin" - lto_binary_reader=lto-macho extra_headers=altivec.h ;; powerpc64-*-darwin*) @@ -1938,7 +2018,6 @@ powerpc64-*-darwin*) extra_parts="crt2.o" tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc-darwin" tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h" - lto_binary_reader=lto-macho extra_headers=altivec.h ;; powerpc*-*-freebsd*) @@ -2151,14 +2230,14 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) extra_headers=altivec.h ;; rx-*-elf*) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} ../../libgcc/config/rx/rx-abi.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} ../../libgcc/config/rx/rx-abi.h" tmake_file="${tmake_file} rx/t-rx" ;; s390-*-linux*) - tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h s390/linux.h" + tm_file="s390/s390.h dbxelf.h elfos.h linux.h glibc-stdint.h s390/linux.h" ;; s390x-*-linux*) - tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h s390/linux.h" + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h linux.h glibc-stdint.h s390/linux.h" tm_p_file=s390/s390-protos.h md_file=s390/s390.md extra_modes=s390/s390-modes.def @@ -2166,7 +2245,7 @@ s390x-*-linux*) tmake_file="${tmake_file} s390/t-linux64" ;; s390x-ibm-tpf*) - tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h" + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h" tm_p_file=s390/s390-protos.h md_file=s390/s390.md extra_modes=s390/s390-modes.def @@ -2210,12 +2289,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ case ${with_endian} in little*) tm_file="sh/little.h ${tm_file}" ;; esac - tm_file="${tm_file} dbxelf.h elfos.h" - case ${target} in - sh*-*-netbsd*) ;; - *) tm_file="${tm_file} svr4.h" ;; - esac - tm_file="${tm_file} sh/elf.h" + tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h" case ${target} in sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux" tm_file="${tm_file} linux.h glibc-stdint.h sh/linux.h" ;; @@ -2254,6 +2328,9 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ sh64*) tmake_file="${tmake_file} sh/t-sh64" tm_file="${tm_file} sh/sh64.h" + if test x$with_newlib = xyes; then + tm_file="${tm_file} newlib-stdint.h" + fi extra_headers="shmedia.h ushmedia.h sshmedia.h" ;; *-*-symbianelf*) @@ -2333,7 +2410,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_` tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"' tm_defines="$tm_defines SUPPORT_`echo $sh_cpu_default | sed 's/^m/sh/' | tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1" - sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^sh/m/i' -e 's/ sh/ m/gi' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-` + sh_multilibs=`echo $sh_multilibs | sed -e 's/,/ /g' -e 's/^[Ss][Hh]/m/' -e 's/ [Ss][Hh]/ m/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-` for sh_multilib in ${sh_multilibs}; do case ${sh_multilib} in m1 | m2 | m2e | m3 | m3e | \ @@ -2366,30 +2443,24 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ ;; sh-*-rtems*) tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems" - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h" + tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h newlib-stdint.h" ;; sh-wrs-vxworks) tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks" - tm_file="${tm_file} elfos.h svr4.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h" - ;; -sparc-*-netbsdelf*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" - extra_options="${extra_options} sparc/long-double-switch.opt" - ;; -sparc64-*-openbsd*) - tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h" - tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h" - extra_options="${extra_options} sparc/little-endian.opt" - gas=yes gnu_ld=yes - with_cpu=ultrasparc + tm_file="${tm_file} elfos.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h" ;; sparc-*-elf*) - tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h svr4.h sparc/sysv4.h sparc/sp-elf.h" + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp-elf.h" tmake_file="sparc/t-elf sparc/t-crtfm" extra_parts="crti.o crtn.o crtbegin.o crtend.o" ;; -sparc-*-linux*) # SPARC's running GNU/Linux, libc6 - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h" +sparc-*-rtems*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" + tmake_file="sparc/t-elf sparc/t-crtfm t-rtems" + extra_parts="crti.o crtn.o crtbegin.o crtend.o" + ;; +sparc-*-linux*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h linux.h glibc-stdint.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux" if test x$enable_targets = xall; then @@ -2400,19 +2471,12 @@ sparc-*-linux*) # SPARC's running GNU/Linux, libc6 fi tmake_file="${tmake_file} sparc/t-crtfm" ;; -sparc-*-rtems*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" - tmake_file="sparc/t-elf sparc/t-crtfm t-rtems" - extra_parts="crti.o crtn.o crtbegin.o crtend.o" - ;; -sparc64-*-rtems*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h" - extra_options="${extra_options} sparc/little-endian.opt" - tmake_file="${tmake_file} sparc/t-crtfm t-rtems" - extra_parts="crtbegin.o crtend.o" +sparc-*-netbsdelf*) + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" + extra_options="${extra_options} sparc/long-double-switch.opt" ;; sparc*-*-solaris2*) - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h" + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sol2.h" case ${target} in *-*-solaris2.1[0-9]*) tm_file="${tm_file} sol2-10.h" @@ -2463,15 +2527,26 @@ sparc*-*-solaris2*) esac ;; sparc-wrs-vxworks) - tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h" + tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h" tmake_file="${tmake_file} sparc/t-vxworks" ;; sparc64-*-elf*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h" + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h" extra_options="${extra_options} sparc/little-endian.opt" tmake_file="${tmake_file} sparc/t-crtfm" extra_parts="crtbegin.o crtend.o" ;; +sparc64-*-rtems*) + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h" + extra_options="${extra_options} sparc/little-endian.opt" + tmake_file="${tmake_file} sparc/t-crtfm t-rtems" + extra_parts="crtbegin.o crtend.o" + ;; +sparc64-*-linux*) + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h linux.h glibc-stdint.h sparc/linux64.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" + ;; sparc64-*-freebsd*|ultrasparc-*-freebsd*) tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h" extra_options="${extra_options} sparc/long-double-switch.opt" @@ -2482,17 +2557,19 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*) *) echo "$with_cpu not supported for freebsd target"; exit 1 ;; esac ;; -sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h sparc/linux64.h" - extra_options="${extra_options} sparc/long-double-switch.opt" - tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" - ;; sparc64-*-netbsd*) tm_file="sparc/biarch64.h ${tm_file}" - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" + tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-netbsd64" ;; +sparc64-*-openbsd*) + tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h" + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h" + extra_options="${extra_options} sparc/little-endian.opt" + gas=yes gnu_ld=yes + with_cpu=ultrasparc + ;; spu-*-elf*) tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h" tmake_file="spu/t-spu-elf" @@ -2503,10 +2580,11 @@ spu-*-elf*) ;; v850e1-*-*) target_cpu_default="TARGET_CPU_v850e1" - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h v850/v850.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h" tm_p_file=v850/v850-protos.h tmake_file=v850/t-v850e md_file=v850/v850.md + extra_modes=v850/v850-modes.def out_file=v850/v850.c extra_options="${extra_options} v850/v850.opt" if test x$stabs = xyes @@ -2520,10 +2598,11 @@ v850e1-*-*) ;; v850e-*-*) target_cpu_default="TARGET_CPU_v850e" - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h v850/v850.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h v850/v850.h" tm_p_file=v850/v850-protos.h tmake_file=v850/t-v850e md_file=v850/v850.md + extra_modes=v850/v850-modes.def out_file=v850/v850.c extra_options="${extra_options} v850/v850.opt" if test x$stabs = xyes @@ -2537,7 +2616,7 @@ v850e-*-*) ;; v850-*-*) target_cpu_default="TARGET_CPU_generic" - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" tmake_file=v850/t-v850 if test x$stabs = xyes then @@ -2549,7 +2628,7 @@ v850-*-*) use_gcc_stdint=wrap ;; vax-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h vax/elf.h vax/linux.h" + tm_file="${tm_file} dbxelf.h elfos.h linux.h vax/elf.h vax/linux.h" tmake_file="${tmake_file} vax/t-linux" ;; vax-*-netbsdelf*) @@ -2567,7 +2646,7 @@ vax-*-openbsd*) ;; xstormy16-*-elf) # For historical reasons, the target files omit the 'x'. - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h stormy16/stormy16.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h stormy16/stormy16.h" tm_p_file=stormy16/stormy16-protos.h md_file=stormy16/stormy16.md out_file=stormy16/stormy16.c @@ -2576,11 +2655,11 @@ xstormy16-*-elf) extra_parts="crtbegin.o crtend.o" ;; xtensa*-*-elf*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h newlib-stdint.h xtensa/elf.h" + tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h" tmake_file="xtensa/t-xtensa xtensa/t-elf" ;; xtensa*-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h xtensa/linux.h" + tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h xtensa/linux.h" tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux" ;; am33_2.0-*-linux*) @@ -2591,13 +2670,13 @@ am33_2.0-*-linux*) use_collect2=no ;; m32c-*-rtems*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h" + tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h" tmake_file="${tmake_file} t-rtems" c_target_objs="m32c-pragma.o" cxx_target_objs="m32c-pragma.o" ;; m32c-*-elf*) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" c_target_objs="m32c-pragma.o" cxx_target_objs="m32c-pragma.o" ;; @@ -2736,6 +2815,14 @@ case ${target} in arch=core2 cpu=core2 ;; + corei7-*) + arch=corei7 + cpu=corei7 + ;; + corei7_avx-*) + arch=corei7-avx + cpu=corei7-avx + ;; pentium_m-*) arch=pentium-m cpu=pentium-m @@ -2783,6 +2870,10 @@ case ${target} in arch=core2 cpu=core2 ;; + corei7-*) + arch=corei7 + cpu=corei7 + ;; *) arch=x86-64 cpu=generic @@ -2921,6 +3012,9 @@ if test x$with_fpmath != x; then case ${target} in i[34567]86-*-* | x86_64-*-*) case ${with_fpmath} in + avx) + tm_file="${tm_file} i386/avxmath.h" + ;; sse) tm_file="${tm_file} i386/ssemath.h" ;; @@ -3166,7 +3260,7 @@ case "${target}" in "" | x86-64 | generic | native \ | k8 | k8-sse3 | athlon64 | athlon64-sse3 | opteron \ | opteron-sse3 | athlon-fx | bdver1 | amdfam10 \ - | barcelona | nocona | core2 | atom) + | barcelona | nocona | core2 | corei7 | corei7-avx | atom) # OK ;; *) @@ -3284,7 +3378,7 @@ case "${target}" in | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \ | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ - | a2 | e300c[23] | 854[08] | e500mc | e500mc64 \ + | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | titan\ | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell) # OK ;; @@ -3302,7 +3396,7 @@ case "${target}" in for which in arch tune; do eval "val=\$with_$which" case ${val} in - "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10) + "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196) # OK ;; *) @@ -3451,6 +3545,9 @@ case ${target} in i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" ;; + i[34567]86-*-freebsd* | x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" + ;; ia64*-*-linux*) tmake_file="${tmake_file} ia64/t-fprules-softfp soft-fp/t-softfp" ;;