diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host --- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200 +++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200 @@ -962,6 +962,10 @@ ;; esac ;; +nios2-*-linux-uclibc*) + tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp" + md_unwind_header=nios2/linux-unwind.h + ;; nios2-*-linux*) tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc" md_unwind_header=nios2/linux-unwind.h diff -Nur gcc-6.2.0.orig/libgcc/config.host.orig gcc-6.2.0/libgcc/config.host.orig --- gcc-6.2.0.orig/libgcc/config.host.orig 1970-01-01 01:00:00.000000000 +0100 +++ gcc-6.2.0/libgcc/config.host.orig 2016-05-17 08:15:52.000000000 +0200 @@ -0,0 +1,1383 @@ +# libgcc host-specific configuration file. +# Copyright (C) 1997-2016 Free Software Foundation, Inc. + +#This file is part of GCC. + +#GCC is free software; you can redistribute it and/or modify it under +#the terms of the GNU General Public License as published by the Free +#Software Foundation; either version 3, or (at your option) any later +#version. + +#GCC is distributed in the hope that it will be useful, but WITHOUT +#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +#for more details. + +#You should have received a copy of the GNU General Public License +#along with GCC; see the file COPYING3. If not see +#. + +# This is the libgcc host-specific configuration file +# where a configuration type is mapped to different system-specific +# definitions and files. This is invoked by the autoconf-generated +# configure script. Putting it in a separate shell file lets us skip +# running autoconf when modifying host-specific information. + +# This file bears an obvious resemblance to gcc/config.gcc. The cases +# should be kept similar, to ease moving library-specific settings +# from config.gcc to this file. That is also why tmake_file is +# left as tmake_file, rather than hmake_file, even though this library +# switches on ${host}. + +# This file switches on the shell variable ${host}, and also uses the +# following shell variables: +# +# with_* Various variables as set by configure. + +# This file sets the following shell variables for use by the +# autoconf-generated configure script: +# +# asm_hidden_op The assembler pseudo-op to use for hide +# lists for object files implemented in +# assembly (with -fvisibility=hidden for C). +# The default is ".hidden". +# cpu_type The name of the cpu, if different from the first +# chunk of the canonical host name. +# enable_execute_stack The name of a source file implementing +# __enable_execute_stack. +# extra_parts List of extra object files that should be compiled +# for this target machine. This may be overridden +# by setting EXTRA_PARTS in a tmake_file fragment. +# If either is set, EXTRA_PARTS and +# EXTRA_MULTILIB_PARTS inherited from the GCC +# subdirectory will be ignored. +# md_unwind_header The name of a header file defining +# MD_FALLBACK_FRAME_STATE_FOR. +# sfp_machine_header The name of a sfp-machine.h header file for soft-fp. +# Defaults to "$cpu_type/sfp-machine.h" if it exists, +# no-sfp-machine.h otherwise. +# tmake_file A list of machine-description-specific +# makefile fragments. +# tm_defines List of target macros to define for all compilations. +# tm_file A list of target macro files used only for code +# built for the target, not the host. These files +# are relative to $srcdir/config and must not have +# the same names as files in $srcdir/../gcc/config. +# unwind_header The name of the header file declaring the unwind +# runtime interface routines. + +asm_hidden_op=.hidden +enable_execute_stack= +extra_parts= +tmake_file= +tm_file= +tm_define= +md_unwind_header=no-unwind.h +unwind_header=unwind-generic.h + +# Set default cpu_type so it can be updated in each machine entry. +cpu_type=`echo ${host} | sed 's/-.*$//'` +case ${host} in +m32c*-*-*) + cpu_type=m32c + tmake_file=t-fdpbit + ;; +aarch64*-*-*) + cpu_type=aarch64 + ;; +alpha*-*-*) + cpu_type=alpha + ;; +am33_2.0-*-linux*) + cpu_type=mn10300 + ;; +arc*-*-*) + cpu_type=arc + ;; +arm*-*-*) + cpu_type=arm + ;; +avr-*-*) + cpu_type=avr + ;; +bfin*-*) + cpu_type=bfin + ;; +cr16-*-*) + ;; +crisv32-*-*) + cpu_type=cris + ;; +fido-*-*) + cpu_type=m68k + ;; +frv*) cpu_type=frv + ;; +ft32*) cpu_type=ft32 + ;; +moxie*) cpu_type=moxie + ;; +i[34567]86-*-*) + cpu_type=i386 + ;; +x86_64-*-*) + cpu_type=i386 + ;; +ia64-*-*) + ;; +hppa*-*-*) + cpu_type=pa + ;; +lm32*-*-*) + cpu_type=lm32 + ;; +m32r*-*-*) + cpu_type=m32r + ;; +m68k-*-*) + ;; +mep*-*-*) + ;; +microblaze*-*-*) + cpu_type=microblaze + ;; +mips*-*-*) + # All MIPS targets provide a full set of FP routines. + cpu_type=mips + tmake_file="mips/t-mips" + if test "${libgcc_cv_mips_hard_float}" = yes; then + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" + else + tmake_file="${tmake_file} t-softfp-sfdf" + fi + if test "${ac_cv_sizeof_long_double}" = 16; then + tmake_file="${tmake_file} mips/t-softfp-tf" + fi + if test "${host_address}" = 64; then + tmake_file="${tmake_file} mips/t-mips64" + fi + tmake_file="${tmake_file} t-softfp" + ;; +nds32*-*) + cpu_type=nds32 + ;; +nios2*-*-*) + cpu_type=nios2 + ;; +powerpc*-*-*) + cpu_type=rs6000 + ;; +rs6000*-*-*) + ;; +sparc64*-*-*) + cpu_type=sparc + ;; +sparc*-*-*) + cpu_type=sparc + ;; +spu*-*-*) + cpu_type=spu + ;; +s390*-*-*) + cpu_type=s390 + ;; +# Note the 'l'; we need to be able to match e.g. "shle" or "shl". +sh[123456789lbe]*-*-*) + cpu_type=sh + ;; +tilegx*-*-*) + cpu_type=tilegx + ;; +tilepro*-*-*) + cpu_type=tilepro + ;; +v850*-*-*) + cpu_type=v850 + ;; +tic6x-*-*) + cpu_type=c6x + ;; +esac + +# Common parts for widely ported systems. +case ${host} in +*-*-darwin*) + asm_hidden_op=.private_extern + tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin" + extra_parts="crt3.o crttms.o crttme.o" + ;; +*-*-dragonfly*) + 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" + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" + ;; +*-*-freebsd*) + # This is the generic ELF configuration of FreeBSD. Later + # machine-specific sections may refine and add to this + # configuration. + tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" + case ${target_thread_file} in + posix) + tmake_file="${tmake_file} t-freebsd-thread" + # Before 5.0, FreeBSD can't bind shared libraries to -lc + # when "optionally" threaded via weak pthread_* checks. + case ${host} in + *-*-freebsd[34] | *-*-freebsd[34].*) + tmake_file="${tmake_file} t-slibgcc-nolc-override" + ;; + esac + ;; + esac + ;; +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-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 + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" + fi + ;; +*-*-lynxos*) + tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic" + 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" + # 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. + case ${host} in + *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*) + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" + ;; + esac + ;; +*-*-openbsd*) + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip" + case ${target_thread_file} in + posix) + tmake_file="$tmake_file t-openbsd-thread" + ;; + esac + ;; +*-*-rtems*) + tmake_file="$tmake_file t-rtems" + extra_parts="crtbegin.o crtend.o" + ;; +*-*-solaris2*) + # Unless linker support and dl_iterate_phdr are present, + # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c. + tmake_file="$tmake_file sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-elf-ver" + if test $with_gnu_ld = yes; then + tmake_file="$tmake_file t-slibgcc-gld" + else + tmake_file="$tmake_file t-slibgcc-sld" + fi + # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES. + tmake_file="$tmake_file $cpu_type/t-sol2" + extra_parts="gmon.o crtbegin.o crtend.o" + if test "${libgcc_cv_solaris_crts}" = yes; then + # Solaris 11.x and 12 provide crt1.o, crti.o, and crtn.o as part of the + # base system. crtp.o and crtpg.o implement the compiler-dependent parts. + extra_parts="$extra_parts crtp.o crtpg.o" + # If the Solaris CRTs are present, both ld and gld will have PIE support. + extra_parts="$extra_parts crtbeginS.o crtendS.o" + else + case ${host} in + i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*) + # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as + # part of the base system. + ;; + sparc*-*-solaris2.1[0-9]*) + # Solaris 10+/SPARC lacks crt1.o and gcrt1.o. + extra_parts="$extra_parts crt1.o gcrt1.o" + ;; + esac + fi + if test x$enable_vtable_verify = xyes; then + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" + fi + ;; +*-*-uclinux*) + extra_parts="crtbegin.o crtend.o" + ;; +*-*-*vms*) + tmake_file="vms/t-vms" + extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o" + ;; +*-*-vxworks*) + tmake_file=t-vxworks + ;; +*-*-elf) + extra_parts="crtbegin.o crtend.o" + ;; +esac + +case ${host} in +*-*-darwin* | *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | \ + *-*-solaris2*) + enable_execute_stack=enable-execute-stack-mprotect.c + ;; +i[34567]86-*-mingw* | x86_64-*-mingw*) + enable_execute_stack=config/i386/enable-execute-stack-mingw32.c + ;; +*) + enable_execute_stack=enable-execute-stack-empty.c; + ;; +esac + +case ${host} in +aarch64*-*-elf | aarch64*-*-rtems*) + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" + 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" + ;; +aarch64*-*-linux*) + extra_parts="$extra_parts crtfastmath.o" + md_unwind_header=aarch64/linux-unwind.h + tmake_file="${tmake_file} ${cpu_type}/t-aarch64" + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" + ;; +alpha*-*-linux*) + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux" + extra_parts="$extra_parts crtfastmath.o" + md_unwind_header=alpha/linux-unwind.h + ;; +alpha*-*-freebsd*) + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm" + extra_parts="$extra_parts crtbeginT.o crtfastmath.o" + ;; +alpha*-*-netbsd*) + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" + ;; +alpha*-*-openbsd*) + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" + ;; +alpha64-dec-*vms*) + tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms" + extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o" + md_unwind_header=alpha/vms-unwind.h + ;; +alpha*-dec-*vms*) + tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms" + extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o" + 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" + ;; +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" + ;; +arm-wrs-vxworks) + tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" + extra_parts="$extra_parts crti.o crtn.o" + ;; +arm*-*-freebsd*) # ARM FreeBSD EABI + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf" + tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd t-slibgcc-libgcc" + tm_file="${tm_file} arm/bpabi-lib.h" + unwind_header=config/arm/unwind-arm.h + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" + ;; +arm*-*-netbsdelf*) + tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover" + ;; +arm*-*-linux*) # ARM GNU/Linux with ELF + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm" + tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc" + tm_file="$tm_file arm/bpabi-lib.h" + unwind_header=config/arm/unwind-arm.h + tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" + extra_parts="$extra_parts crtfastmath.o" + ;; +arm*-*-uclinux*) # ARM ucLinux + tmake_file="${tmake_file} t-fixedpoint-gnu-prefix t-crtfm" + tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" + tmake_file="${tmake_file} arm/t-bpabi" + tm_file="$tm_file arm/bpabi-lib.h" + unwind_header=config/arm/unwind-arm.h + extra_parts="$extra_parts crti.o crtn.o" + ;; +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" + case ${host} in + arm*-*-eabi* | arm*-*-rtems*) + tmake_file="${tmake_file} arm/t-bpabi t-crtfm" + extra_parts="crtbegin.o crtend.o crti.o crtn.o" + ;; + arm*-*-symbianelf*) + tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override" + tm_file="$tm_file arm/symbian-lib.h" + # Symbian OS provides its own startup code. + ;; + esac + tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" + 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" + if test x${with_avrlibc} != xno; then + tmake_file="$tmake_file ${cpu_type}/t-avrlibc" + fi + tm_file="$tm_file avr/avr-lib.h" + ;; +bfin*-elf*) + tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o" + ;; +bfin*-uclinux*) + tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o" + md_unwind_header=bfin/linux-unwind.h + ;; +bfin*-linux-uclibc*) + tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux" + # No need to build crtbeginT.o on uClibc systems. Should probably + # be moved to the OS specific section above. + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + md_unwind_header=bfin/linux-unwind.h + ;; +bfin*-rtems*) + tmake_file="$tmake_file bfin/t-bfin t-fdpbit" + extra_parts="$extra_parts crti.o crtn.o" + ;; +bfin*-*) + tmake_file="$tmake_file bfin/t-bfin t-fdpbit" + extra_parts="crtbegin.o crtend.o crti.o crtn.o" + ;; +cr16-*-elf) + tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit" + extra_parts="$extra_parts crti.o crtn.o crtlibid.o" + ;; +crisv32-*-elf) + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp" + ;; +cris-*-elf) + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti" + ;; +cris-*-linux* | crisv32-*-linux*) + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux" + ;; +epiphany-*-elf*) + tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf" + extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o" + ;; +fr30-*-elf) + tmake_file="$tmake_file fr30/t-fr30 t-fdpbit" + extra_parts="$extra_parts crti.o crtn.o" + ;; +frv-*-elf) + tmake_file="$tmake_file frv/t-frv t-fdpbit" + tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h" + # Don't use crtbegin.o, crtend.o. + extra_parts="frvbegin.o frvend.o" + ;; +frv-*-*linux*) + tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit" + tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h" + ;; +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" + extra_parts="$extra_parts crti.o crtn.o" + ;; +h8300-*-linux*) + tmake_file="t-linux h8300/t-linux t-softfp-sfdf t-softfp" + tm_file="$tm_file h8300/h8300-lib.h" + ;; +hppa*64*-*-linux*) + tmake_file="$tmake_file pa/t-linux pa/t-linux64" + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" + ;; +hppa*-*-linux*) + tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc" + # Set the libgcc version number + if test x$ac_cv_sjlj_exceptions = xyes; then + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" + else + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" + fi + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" + md_unwind_header=pa/linux-unwind.h + ;; +hppa[12]*-*-hpux10*) + tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc" + # Set the libgcc version number + if test x$ac_cv_sjlj_exceptions = xyes; then + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" + else + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" + fi + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" + md_unwind_header=pa/hpux-unwind.h + ;; +hppa*64*-*-hpux11*) + tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc" + # Set the libgcc version number + if test x$ac_cv_sjlj_exceptions = xyes; then + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" + else + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" + fi + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ + libgcc_stub.a" + md_unwind_header=pa/hpux-unwind.h + ;; +hppa[12]*-*-hpux11*) + tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc" + # Set the libgcc version number + if test x$ac_cv_sjlj_exceptions = xyes; then + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver" + else + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" + fi + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" + extra_parts="libgcc_stub.a" + md_unwind_header=pa/hpux-unwind.h + ;; +hppa*-*-openbsd*) + tmake_file="$tmake_file pa/t-openbsd" + ;; +i[34567]86-*-darwin*) + tmake_file="$tmake_file i386/t-crtpc t-crtfm" + tm_file="$tm_file i386/darwin-lib.h" + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" + ;; +x86_64-*-darwin*) + tmake_file="$tmake_file i386/t-crtpc t-crtfm" + tm_file="$tm_file i386/darwin-lib.h" + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" + ;; +i[34567]86-*-elfiamcu) + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/32/t-iamcu i386/t-softfp t-softfp t-dfprules" + ;; +i[34567]86-*-elf*) + tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic" + ;; +x86_64-*-elf* | x86_64-*-rtems*) + tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic" + ;; +i[34567]86-*-dragonfly*) + tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff" + md_unwind_header=i386/dragonfly-unwind.h + ;; +x86_64-*-dragonfly*) + tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff" + md_unwind_header=i386/dragonfly-unwind.h + ;; +i[34567]86-*-freebsd*) + tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff" + md_unwind_header=i386/freebsd-unwind.h + ;; +x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff" + md_unwind_header=i386/freebsd-unwind.h + ;; +i[34567]86-*-netbsdelf*) + ;; +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*) + ;; +i[34567]86-*-linux*) + 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" + 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) + 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" + ;; +x86_64-*-linux*) + 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" + md_unwind_header=i386/linux-unwind.h + ;; +x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-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" + ;; +i[34567]86-pc-msdosdjgpp*) + ;; +i[34567]86-*-lynxos*) + ;; +i[34567]86-*-nto-qnx*) + tmake_file="$tmake_file i386/t-nto t-libgcc-pic" + extra_parts=crtbegin.o + ;; +i[34567]86-*-rtems*) + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp" + extra_parts="$extra_parts crti.o crtn.o" + ;; +i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) + tmake_file="$tmake_file i386/t-crtpc t-crtfm" + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" + tm_file="${tm_file} i386/elf-lib.h" + md_unwind_header=i386/sol2-unwind.h + ;; +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) + ;; +i[34567]86-*-cygwin*) + extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o" + if test x$enable_vtable_verify = xyes; then + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" + fi + # 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" + else + tmake_eh_file="i386/t-dw2-eh" + fi + # Shared libgcc DLL install dir depends on cross/native build. + if test x${build} = x${host} ; then + tmake_dlldir_file="i386/t-dlldir" + else + tmake_dlldir_file="i386/t-dlldir-x" + fi + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin t-crtfm i386/t-chkstk t-dfprules" + ;; +x86_64-*-cygwin*) + extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o" + if test x$enable_vtable_verify = xyes; then + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" + fi + # 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" + else + tmake_eh_file="i386/t-seh-eh" + fi + # Shared libgcc DLL install dir depends on cross/native build. + if test x${build} = x${host} ; then + tmake_dlldir_file="i386/t-dlldir" + else + tmake_dlldir_file="i386/t-dlldir-x" + fi + # FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin t-crtfm t-dfprules i386/t-chkstk" + ;; +i[34567]86-*-mingw*) + extra_parts="crtbegin.o crtend.o crtfastmath.o" + if test x$enable_vtable_verify = xyes; then + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" + fi + case ${target_thread_file} in + win32) + tmake_file="$tmake_file i386/t-gthr-win32" + ;; + posix) + tmake_file="i386/t-mingw-pthread $tmake_file" + ;; + esac + # 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" + else + tmake_eh_file="i386/t-dw2-eh" + md_unwind_header=i386/w32-unwind.h + fi + # Shared libgcc DLL install dir depends on cross/native build. + if test x${build} = x${host} ; then + tmake_dlldir_file="i386/t-dlldir" + else + tmake_dlldir_file="i386/t-dlldir-x" + fi + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-crtfm i386/t-chkstk t-dfprules" + ;; +x86_64-*-mingw*) + case ${target_thread_file} in + win32) + tmake_file="$tmake_file i386/t-gthr-win32" + ;; + posix) + tmake_file="i386/t-mingw-pthread $tmake_file" + ;; + esac + # 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" + else + tmake_eh_file="i386/t-seh-eh" + fi + # Shared libgcc DLL install dir depends on cross/native build. + if test x${build} = x${host} ; then + tmake_dlldir_file="i386/t-dlldir" + else + tmake_dlldir_file="i386/t-dlldir-x" + fi + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-dfprules t-crtfm i386/t-chkstk" + extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.o" + if test x$enable_vtable_verify = xyes; then + 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" + ;; +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" + ;; +ia64*-*-linux*) + # Don't use crtbeginT.o from *-*-linux* default. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat ia64/t-eh-ia64 t-libunwind ia64/t-linux" + if test x$with_system_libunwind != xyes ; then + tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind" + fi + md_unwind_header=ia64/linux-unwind.h + ;; +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" + extra_parts="$extra_parts crtinitS.o" + md_unwind_header=ia64/vms-unwind.h + ;; +iq2000*-*-elf*) + tmake_file="iq2000/t-iq2000 t-fdpbit" + # Don't use default. + extra_parts= + ;; +lm32-*-elf*) + extra_parts="$extra_parts crti.o crtn.o" + tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp" + ;; +lm32-*-rtems*) + tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp" + extra_parts="$extra_parts crti.o crtn.o" + ;; +lm32-*-uclinux*) + extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o" + 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 + ;; +m32r-*-linux*) + tmake_file="$tmake_file m32r/t-linux t-fdpbit" + ;; +m32rle-*-linux*) + tmake_file="$tmake_file m32r/t-linux t-fdpbit" + ;; +m68k-*-elf* | fido-*-elf) + tmake_file="$tmake_file m68k/t-floatlib" + ;; +m68k*-*-netbsdelf*) + ;; +m68k*-*-openbsd*) + ;; +m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc + tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" + md_unwind_header=m68k/linux-unwind.h + ;; +m68k-*-linux*) # Motorola m68k's running GNU/Linux + # with ELF format using glibc 2 + # aka the GNU/Linux C library 6. + tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" + # If not configured with setjmp/longjmp exceptions, bump the + # libgcc version number. + if test x$ac_cv_sjlj_exceptions != xyes; then + tmake_file="$tmake_file m68k/t-slibgcc-elf-ver" + fi + md_unwind_header=m68k/linux-unwind.h + ;; +m68k-*-rtems*) + tmake_file="$tmake_file m68k/t-floatlib" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mcore-*-elf) + tmake_file="mcore/t-mcore t-fdpbit" + extra_parts="$extra_parts crti.o crtn.o" + ;; +microblaze*-linux*) + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc" + ;; +microblaze*-*-elf) + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o" + ;; +microblaze*-*-rtems*) + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o" + ;; +mips*-*-netbsd*) # NetBSD/mips, either endian. + ;; +mips*-*-linux*) # Linux MIPS, either endian. + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} t-crtfm" + case ${host} in + mips64r5900* | mipsr5900*) + # The MIPS16 support code uses floating point + # instructions that are not supported on r5900. + ;; + *) + tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc" + ;; + esac + md_unwind_header=mips/linux-unwind.h + ;; +mips*-sde-elf*) + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" + case "${with_newlib}" in + yes) + # newlib / libgloss. + ;; + *) + # MIPS toolkit libraries. + tmake_file="$tmake_file mips/t-sdemtk" + ;; + esac + extra_parts="$extra_parts crti.o crtn.o" + ;; +mipsisa32-*-elf* | mipsisa32el-*-elf* | \ +mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \ +mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \ +mipsisa64-*-elf* | mipsisa64el-*-elf* | \ +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \ +mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mipsisa64sr71k-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips-*-elf* | mipsel-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mipsr5900-*-elf* | mipsr5900el-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips64-*-elf* | mips64el-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips64r5900-*-elf* | mips64r5900el-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips64vr-*-elf* | mips64vrel-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips64orion-*-elf* | mips64orionel-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips*-*-rtems*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crti.o crtn.o" + ;; +mips-wrs-vxworks) + ;; +mipstx39-*-elf* | mipstx39el-*-elf*) + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" + ;; +mmix-knuth-mmixware) + extra_parts="crti.o crtn.o crtbegin.o crtend.o" + tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}" + ;; +mn10300-*-*) + tmake_file=t-fdpbit + ;; +moxie-*-elf | moxie-*-moxiebox* | moxie-*-uclinux* | moxie-*-rtems*) + tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp" + extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o" + ;; +msp430*-*-elf) + tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430" + extra_parts="$extra_parts libmul_none.a libmul_16.a libmul_32.a libmul_f5.a" + ;; +nds32*-elf*) + # Basic makefile fragment and extra_parts for crt stuff. + # We also append c-isr library implementation. + tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr" + extra_parts="crtbegin1.o crtend1.o libnds32_isr.a" + # Append library definition makefile fragment according to --with-nds32-lib=X setting. + case "${with_nds32_lib}" in + "" | newlib) + # Append library definition makefile fragment t-nds32-newlib. + # Append 'soft-fp' software floating point make rule fragment provided by gcc. + tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp" + ;; + mculib) + # Append library definition makefile fragment t-nds32-mculib. + # The software floating point library is included in mculib. + tmake_file="${tmake_file} nds32/t-nds32-mculib" + ;; + *) + echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2 + exit 1 + ;; + esac + ;; +nios2-*-linux*) + tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc" + md_unwind_header=nios2/linux-unwind.h + ;; +nios2-*-*) + tmake_file="$tmake_file nios2/t-nios2 t-softfp-sfdf t-softfp-excl t-softfp" + extra_parts="$extra_parts crti.o crtn.o" + ;; +pdp11-*-*) + tmake_file="pdp11/t-pdp11 t-fdpbit" + ;; +powerpc-*-darwin*) + case ${host} in + *-*-darwin9* | *-*-darwin[12][0-9]*) + # libSystem contains unwind information for signal frames since + # Darwin 9. + ;; + *) + md_unwind_header=rs6000/darwin-unwind.h + ;; + esac + tmake_file="$tmake_file rs6000/t-ibm-ldouble" + extra_parts="$extra_parts crt2.o" + ;; +powerpc64-*-darwin*) + tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble" + extra_parts="$extra_parts crt2.o" + ;; +powerpc*-*-freebsd*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp" + extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" + case ${host} in + powerpc64*) + tmake_file="${tmake_file} rs6000/t-freebsd64" + md_unwind_header=rs6000/freebsd-unwind.h + ;; + esac + ;; +powerpc-*-netbsd*) + tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff" + ;; +powerpc-*-eabispe*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr 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" + ;; +powerpc-*-eabisimaltivec*) + 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" + ;; +powerpc-*-eabisim*) + 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" + ;; +powerpc-*-elf*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" + ;; +powerpc-*-eabialtivec*) + 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" + ;; +powerpc-xilinx-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" + ;; +powerpc-*-eabi*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr 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" + ;; +powerpc-*-rtems*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" + ;; +powerpc*-*-linux*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc" + tmake_file="${tmake_file} t-stack rs6000/t-stack-rs6000" + case $ppc_fp_type in + 64) + ;; + hard) + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" + ;; + soft) + tmake_file="${tmake_file} t-softfp-sfdf ${ppc_fp_compat} t-softfp" + ;; + e500v1) + tmake_file="${tmake_file} rs6000/t-e500v1-fp ${ppc_fp_compat} t-softfp t-hardfp" + ;; + e500v2) + tmake_file="${tmake_file} t-hardfp-sfdf rs6000/t-e500v2-fp ${ppc_fp_compat} t-softfp t-hardfp" + ;; + *) + echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2 + exit 1 + ;; + esac + + if test $libgcc_cv_powerpc_float128 = yes; then + tmake_file="${tmake_file} rs6000/t-float128" + fi + + if test $libgcc_cv_powerpc_float128_hw = yes; then + tmake_file="${tmake_file} rs6000/t-float128-hw" + fi + + extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o" + md_unwind_header=rs6000/linux-unwind.h + ;; +powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils) + tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit" + ;; +powerpc-*-lynxos*) + tmake_file="$tmake_file rs6000/t-lynx t-fdpbit" + ;; +powerpcle-*-elf*) + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" + ;; +powerpcle-*-eabisim*) + 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" + ;; +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" + ;; +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" + ;; +rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*) + md_unwind_header=rs6000/aix-unwind.h + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble" + ;; +rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) + md_unwind_header=rs6000/aix-unwind.h + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa" + extra_parts="crtcxa.o crtcxa_s.o crtdbase.o" + ;; +rl78-*-elf) + tmake_file="$tm_file t-fdpbit rl78/t-rl78" + ;; +rx-*-elf) + tmake_file="rx/t-rx t-fdpbit" + tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h" + ;; +s390-*-linux*) + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi t-stack s390/t-stack-s390" + md_unwind_header=s390/linux-unwind.h + ;; +s390x-*-linux*) + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux t-stack s390/t-stack-s390" + if test "${host_address}" = 32; then + tmake_file="${tmake_file} s390/32/t-floattodi" + fi + md_unwind_header=s390/linux-unwind.h + ;; +s390x-ibm-tpf*) + tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip" + extra_parts="crtbeginS.o crtendS.o" + md_unwind_header=s390/tpf-unwind.h + ;; +sh-*-elf* | sh[12346l]*-*-elf*) + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit" + extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \ + libic_invalidate_array_4-100.a \ + 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" + extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o" + ;; + esac + ;; +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*) + 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 + # in libgcc. + ;; +sh-*-rtems*) + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit" + extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \ + libic_invalidate_array_4-100.a \ + libic_invalidate_array_4-200.a \ + libic_invalidate_array_4a.a \ + libgcc-Os-4-200.a libgcc-4-300.a" + ;; +sh-wrs-vxworks) + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit" + ;; +sparc-*-netbsdelf*) + ;; +sparc64-*-openbsd*) + ;; +sparc-*-elf*) + case ${host} in + *-leon[3-9]*) + ;; + *) + tmake_file="sparc/t-softmul" + ;; + esac + tmake_file="${tmake_file} t-fdpbit t-crtfm" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +sparc-*-linux*) # SPARC's running GNU/Linux, libc6 + tmake_file="${tmake_file} t-crtfm" + if test "${host_address}" = 64; then + tmake_file="$tmake_file sparc/t-linux64" + fi + case ${host} in + *-leon*) + tmake_file="${tmake_file} t-fdpbit" + ;; + *) + tmake_file="${tmake_file} sparc/t-linux" + ;; + esac + case ${host} in + *-leon[3-9]*) + ;; + *) + if test "${host_address}" = 32; then + tmake_file="$tmake_file sparc/t-softmul" + fi + ;; + esac + extra_parts="$extra_parts crtfastmath.o" + md_unwind_header=sparc/linux-unwind.h + ;; +sparc-*-rtems*) + tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +sparc*-*-solaris2*) + tmake_file="$tmake_file t-crtfm" + extra_parts="$extra_parts crtfastmath.o" + md_unwind_header=sparc/sol2-unwind.h + ;; +sparc64-*-elf*) + tmake_file="${tmake_file} t-crtfm" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +sparc64-*-rtems*) + tmake_file="$tmake_file t-crtfm" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +sparc-wrs-vxworks) + ;; +sparc64-*-freebsd*|ultrasparc-*-freebsd*) + tmake_file="$tmake_file t-crtfm" + extra_parts="$extra_parts crtfastmath.o" + ;; +sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} t-crtfm sparc/t-linux" + if test "${host_address}" = 64; then + tmake_file="${tmake_file} sparc/t-linux64" + fi + if test "${host_address}" = 32; then + tmake_file="${tmake_file} sparc/t-softmul" + fi + md_unwind_header=sparc/linux-unwind.h + ;; +sparc64-*-netbsd*) + ;; +spu-*-elf*) + tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit" + extra_parts="$extra_parts \ + libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \ + libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \ + libgcc_cache64k.a libgcc_cache128k.a" + ;; +tic6x-*-uclinux) + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \ + c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \ + t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix" + tm_file="$tm_file c6x/c6x-abi.h" + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o" + unwind_header=config/c6x/unwind-c6x.h + ;; +tic6x-*-elf) + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf" + tm_file="$tm_file c6x/c6x-abi.h" + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o" + unwind_header=config/c6x/unwind-c6x.h + ;; +tilegx*-*-linux*) + if test "${host_address}" = 64; then + tmake_file="${tmake_file} tilegx/t-softfp" + fi + tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf t-softfp tilegx/t-tilegx" + md_unwind_header=tilepro/linux-unwind.h + ;; +tilepro*-*-linux*) + tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro" + md_unwind_header=tilepro/linux-unwind.h + ;; +v850*-*-*) + tmake_file="${tmake_file} v850/t-v850 t-fdpbit" + ;; +vax-*-linux*) + tmake_file="$tmake_file vax/t-linux" + ;; +vax-*-netbsdelf*) + ;; +vax-*-openbsd*) + ;; +visium-*-elf*) + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" + tmake_file="visium/t-visium t-fdpbit" + ;; +xstormy16-*-elf) + tmake_file="stormy16/t-stormy16 t-fdpbit" + ;; +xtensa*-*-elf*) + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf" + extra_parts="$extra_parts crti.o crtn.o" + ;; +xtensa*-*-linux*) + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" + md_unwind_header=xtensa/linux-unwind.h + ;; +xtensa*-*-uclinux*) + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" + md_unwind_header=xtensa/linux-unwind.h + extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o" + ;; +am33_2.0-*-linux*) + # Don't need crtbeginT.o from *-*-linux* default. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" + tmake_file="$tmake_file t-fdpbit" + ;; +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" + ;; +*) + echo "*** Configuration ${host} not supported" 1>&2 + exit 1 + ;; +esac + +case ${host} in +i[34567]86-*-* | x86_64-*-*) + tmake_file="${tmake_file} i386/t-cpuinfo" + ;; +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 + tmake_file="${tmake_file} t-stack i386/t-stack-i386" + fi + ;; +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*) + tmake_file="${tmake_file} t-softfp-tf" + if test "${host_address}" = 32; then + tmake_file="${tmake_file} i386/${host_address}/t-softfp" + fi + tmake_file="${tmake_file} i386/t-softfp t-softfp" + ;; +esac + +case ${host} in +i[34567]86-*-linux* | x86_64-*-linux*) + # Provide backward binary compatibility for 64bit Linux/x86. + if test "${host_address}" = 64; then + tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat" + fi + tm_file="${tm_file} i386/value-unwind.h" + ;; +esac