From 852b75ed97493f2742b9747d08129eb5f255735c Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 2 Nov 2011 15:26:35 +0000 Subject: [PATCH] Move libgcc_tm_file to toplevel libgcc gcc: * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Remove. * configure: Regenerate. * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove. (TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list). (libgcc_tm.h, cs-libgcc_tm.h): Remove. (clean): Remove libgcc_tm.h * mkconfig.sh: Don't include libgcc_tm.h in tm.h. * config.gcc (libgcc_tm_file): Remove. (arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi. (arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi. (arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file. (avr-*-rtems*): Likewise. (avr-*-*): Likewise. (frv-*-elf): Likewise. (frv-*-*linux*): Likewise. (h8300-*-rtems*): Likewise. (h8300-*-elf*): Likewise. (i[34567]86-*-darwin*): Likewise. (x86_64-*-darwin*): Likewise. (rx-*-elf*): Likewise. (tic6x-*-elf): Likewise. (tic6x-*-uclinux): Likewise. (i[34567]86-*-linux*, x86_64-*-linux*): Likewise. libgcc: * configure.ac (tm_file_): New variable. Determine from tm_file. (tm_file, tm_defines): Substitute. * configure: Regenerate. * mkheader.sh: New file. * Makefile.in (clean): Remove libgcc_tm.h. ($(objects)): Depend on libgcc_tm.h. (libgcc_tm_defines, libgcc_tm_file): New variables. (libgcc_tm.h, libgcc_tm.stamp): New targets. ($(libgcc-objects), $(libgcc-s-objects), $(libgcc-eh-objects)) ($(libgcov-objects), $(libunwind-objects), $(libunwind-s-objects)) ($(extra-parts)): Depend on libgcc_tm.h. * config.host (tm_defines, tm_file): New variable. (arm*-*-linux*): Set tm_file for arm*-*-linux-*eabi. (arm*-*-uclinux*): Set tm_file for arm*-*-uclinux*eabi. (arm*-*-eabi*, arm*-*-symbianelf*): Set tm_file. (avr-*-rtems*): Likewise. (avr-*-*): Likewise. (frv-*-elf): Likewise. (frv-*-*linux*): Likewise. (h8300-*-rtems*): Likewise. (h8300-*-elf*): Likewise. (i[34567]86-*-darwin*): Likewise. (x86_64-*-darwin*): Likewise. (rx-*-elf): Likewise. (tic6x-*-uclinux): Likewise. (tic6x-*-elf): Likewise. (i[34567]86-*-linux*, x86_64-*-linux*): Likewise. * config/alpha/gthr-posix.c: Include libgcc_tm.h. * config/i386/cygming-crtbegin.c: Likewise. * config/i386/cygming-crtend.c: Likewise. * config/ia64/fde-vms.c: Likewise. * config/ia64/unwind-ia64.c: Likewise. * config/libbid/bid_gcc_intrinsics.h: Likewise. * config/rs6000/darwin-fallback.c: Likewise. * config/stormy16/lib2funcs.c: Likewise. * config/xtensa/unwind-dw2-xtensa.c: Likewise. * crtstuff.c: Likewise. * dfp-bit.h: Likewise. * emutls.c: Likewise. * fixed-bit.c: Likewise. * fp-bit.c: Likewise. * generic-morestack-thread.c: Likewise. * generic-morestack.c: Likewise. * libgcc2.c: Likewise. * libgcov.c: Likewise. * unwind-dw2-fde-dip.c: Likewise. * unwind-dw2-fde.c: Likewise. * unwind-dw2.c: Likewise. * unwind-sjlj.c: Likewise. Co-Authored-By: Paolo Bonzini From-SVN: r180775 --- gcc/ChangeLog | 28 ++++++++++++ gcc/Makefile.in | 13 +----- gcc/config.gcc | 23 ---------- gcc/configure | 15 +------ gcc/configure.ac | 9 ---- gcc/mkconfig.sh | 8 +--- libgcc/ChangeLog | 53 +++++++++++++++++++++++ libgcc/Makefile.in | 17 +++++++- libgcc/config.host | 23 ++++++++++ libgcc/config/alpha/gthr-posix.c | 1 + libgcc/config/i386/cygming-crtbegin.c | 3 +- libgcc/config/i386/cygming-crtend.c | 3 +- libgcc/config/ia64/fde-vms.c | 1 + libgcc/config/ia64/unwind-ia64.c | 1 + libgcc/config/libbid/bid_gcc_intrinsics.h | 3 +- libgcc/config/rs6000/darwin-fallback.c | 3 +- libgcc/config/stormy16/lib2funcs.c | 3 +- libgcc/config/xtensa/unwind-dw2-xtensa.c | 1 + libgcc/configure | 12 +++++ libgcc/configure.ac | 10 +++++ libgcc/crtstuff.c | 1 + libgcc/dfp-bit.h | 3 +- libgcc/emutls.c | 3 +- libgcc/fixed-bit.c | 3 +- libgcc/fp-bit.c | 1 + libgcc/generic-morestack-thread.c | 1 + libgcc/generic-morestack.c | 1 + libgcc/libgcc2.c | 1 + libgcc/libgcov.c | 3 +- libgcc/mkheader.sh | 41 ++++++++++++++++++ libgcc/unwind-dw2-fde-dip.c | 3 +- libgcc/unwind-dw2-fde.c | 3 +- libgcc/unwind-dw2.c | 1 + libgcc/unwind-sjlj.c | 3 +- 34 files changed, 223 insertions(+), 75 deletions(-) create mode 100755 libgcc/mkheader.sh diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec7a91205ba1..f1e4860d1b9e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,31 @@ +2011-11-02 Rainer Orth + Paolo Bonzini + + * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): + Remove. + * configure: Regenerate. + * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove. + (TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list). + (libgcc_tm.h, cs-libgcc_tm.h): Remove. + (clean): Remove libgcc_tm.h + * mkconfig.sh: Don't include libgcc_tm.h in tm.h. + * config.gcc (libgcc_tm_file): Remove. + (arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi. + (arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi. + (arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file. + (avr-*-rtems*): Likewise. + (avr-*-*): Likewise. + (frv-*-elf): Likewise. + (frv-*-*linux*): Likewise. + (h8300-*-rtems*): Likewise. + (h8300-*-elf*): Likewise. + (i[34567]86-*-darwin*): Likewise. + (x86_64-*-darwin*): Likewise. + (rx-*-elf*): Likewise. + (tic6x-*-elf): Likewise. + (tic6x-*-uclinux): Likewise. + (i[34567]86-*-linux*, x86_64-*-linux*): Likewise. + 2011-11-02 Rainer Orth * Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index ca818a893afd..cf1c8a7f30b1 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -490,8 +490,6 @@ md_file=$(srcdir)/config/@md_file@ tm_file_list=@tm_file_list@ tm_include_list=@tm_include_list@ tm_defines=@tm_defines@ -libgcc_tm_file_list=@libgcc_tm_file_list@ -libgcc_tm_include_list=@libgcc_tm_include_list@ tm_p_file_list=@tm_p_file_list@ tm_p_include_list=@tm_p_include_list@ build_xm_file_list=@build_xm_file_list@ @@ -790,8 +788,7 @@ CONFIG_H = config.h $(host_xm_file_list) TCONFIG_H = tconfig.h $(xm_file_list) TM_P_H = tm_p.h $(tm_p_file_list) GTM_H = tm.h $(tm_file_list) insn-constants.h -TM_H = $(GTM_H) libgcc_tm.h $(libgcc_tm_file_list) insn-flags.h \ - $(OPTIONS_H) +TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H) # Variables for version information. BASEVER := $(srcdir)/BASE-VER # 4.x.y @@ -1599,7 +1596,6 @@ config.h: cs-config.h ; @true bconfig.h: cs-bconfig.h ; @true tconfig.h: cs-tconfig.h ; @true tm.h: cs-tm.h ; @true -libgcc_tm.h: cs-libgcc_tm.h ; @true tm_p.h: cs-tm_p.h ; @true cs-config.h: Makefile @@ -1622,11 +1618,6 @@ cs-tm.h: Makefile HEADERS="$(tm_include_list)" DEFINES="$(tm_defines)" \ $(SHELL) $(srcdir)/mkconfig.sh tm.h -cs-libgcc_tm.h: Makefile - TARGET_CPU_DEFAULT="" \ - HEADERS="$(libgcc_tm_include_list)" DEFINES="" \ - $(SHELL) $(srcdir)/mkconfig.sh libgcc_tm.h - cs-tm_p.h: Makefile TARGET_CPU_DEFAULT="" \ HEADERS="$(tm_p_include_list)" DEFINES="" \ @@ -4425,7 +4416,7 @@ clean: mostlyclean lang.clean -rm -f libgcc.a libgcc_eh.a libgcov.a -rm -f libgcc_s* -rm -f libunwind* - -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h libgcc_tm.h + -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h -rm -f options.c options.h optionlist -rm -f cs-* -rm -f doc/*.dvi diff --git a/gcc/config.gcc b/gcc/config.gcc index 8c4e4bef4847..c1a77ff4db2c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -84,12 +84,6 @@ # build-directory files by prefixing them with "./". # All other files should relative to $srcdir/config. # -# libgcc_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/../libgcc/config and -# must not have the same names as files in -# $srcdir/config. -# # tm_p_file Location of file with declarations for functions # in $out_file. # @@ -223,7 +217,6 @@ target_has_targetcm=no target_has_targetm_common=yes tm_defines= xm_defines= -libgcc_tm_file= # Set this to force installation and use of collect2. use_collect2= # Set this to override the default target model. @@ -831,7 +824,6 @@ arm*-*-linux*) # ARM GNU/Linux with ELF case ${target} in arm*-*-linux-*eabi) tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h" - libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.h" tmake_file="$tmake_file arm/t-arm-elf arm/t-linux-eabi" # Define multilib configuration for arm-linux-androideabi. case ${target} in @@ -859,7 +851,6 @@ arm*-*-uclinux*) # ARM ucLinux case ${target} in arm*-*-uclinux*eabi) tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h" - libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.h" # The BPABI long long divmod functions return a 128-bit value in # registers r0-r3. Correctly modeling that requires the use of # TImode. @@ -880,7 +871,6 @@ 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" - libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.h" tmake_file="arm/t-arm arm/t-arm-elf" case ${target} in arm*-*-eabi*) @@ -889,7 +879,6 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ;; arm*-*-symbianelf*) tm_file="${tm_file} arm/symbian.h" - libgcc_tm_file="$libgcc_tm_file arm/symbian-lib.h" # We do not include t-bpabi for Symbian OS because the system # provides its own implementation of the BPABI functions. tmake_file="${tmake_file} arm/t-symbian" @@ -913,14 +902,12 @@ arm*-wince-pe*) ;; avr-*-rtems*) tm_file="elfos.h avr/elf.h avr/avr.h dbxelf.h avr/rtems.h rtems.h newlib-stdint.h" - libgcc_tm_file="$libgcc_tm_file avr/avr-lib.h" tmake_file="avr/t-avr t-rtems avr/t-rtems" extra_gcc_objs="driver-avr.o avr-devices.o" extra_objs="avr-devices.o avr-log.o" ;; avr-*-*) tm_file="elfos.h avr/elf.h avr/avr.h dbxelf.h newlib-stdint.h" - libgcc_tm_file="$libgcc_tm_file avr/avr-lib.h" use_gcc_stdint=wrap extra_gcc_objs="driver-avr.o avr-devices.o" extra_objs="avr-devices.o avr-log.o" @@ -983,13 +970,11 @@ fr30-*-elf) ;; frv-*-elf) tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" - libgcc_tm_file="${libgcc_tm_file} frv/frv-abi.h" tmake_file=frv/t-frv ;; frv-*-*linux*) tm_file="dbxelf.h elfos.h ${tm_file} \ gnu-user.h linux.h glibc-stdint.h frv/linux.h" - libgcc_tm_file="${libgcc_tm_file} frv/frv-abi.h" tmake_file="${tmake_file} frv/t-frv frv/t-linux" ;; moxie-*-elf) @@ -1011,12 +996,10 @@ moxie-*-rtems*) h8300-*-rtems*) tmake_file="h8300/t-h8300 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" - libgcc_tm_file="$libgcc_tm_file h8300/h8300-lib.h" ;; h8300-*-elf*) tmake_file="h8300/t-h8300" tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h" - libgcc_tm_file="$libgcc_tm_file h8300/h8300-lib.h" ;; hppa*64*-*-linux*) target_cpu_default="MASK_PA_11|MASK_PA_20" @@ -1161,13 +1144,11 @@ i[34567]86-*-darwin*) # Baseline choice for a machine that allows m64 support. with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} t-slibgcc" - libgcc_tm_file="$libgcc_tm_file i386/darwin-lib.h" ;; x86_64-*-darwin*) with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc" tm_file="${tm_file} ${cpu_type}/darwin64.h" - libgcc_tm_file="$libgcc_tm_file i386/darwin-lib.h" ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h" @@ -2119,7 +2100,6 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) ;; rx-*-elf*) tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" - libgcc_tm_file="${libgcc_tm_file} rx/rx-abi.h rx/rx-lib.h" tmake_file="${tmake_file} rx/t-rx" ;; s390-*-linux*) @@ -2448,7 +2428,6 @@ spu-*-elf*) tic6x-*-elf) tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h" tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h" - libgcc_tm_file="${libgcc_tm_file} c6x/c6x-abi.h" tmake_file="c6x/t-c6x c6x/t-c6x-elf" use_collect2=no ;; @@ -2456,7 +2435,6 @@ tic6x-*-uclinux) tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h" tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h" tm_file="${tm_file} ./sysroot-suffix.h" - libgcc_tm_file="${libgcc_tm_file} c6x/c6x-abi.h" tmake_file="t-sysroot-suffix t-slibgcc" tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux" use_collect2=no @@ -2544,7 +2522,6 @@ esac case ${target} in i[34567]86-*-linux* | x86_64-*-linux*) tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386" - libgcc_tm_file="${libgcc_tm_file} i386/value-unwind.h" ;; i[34567]86-*-* | x86_64-*-*) tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386" diff --git a/gcc/configure b/gcc/configure index 68473c1d8880..cb116d229935 100755 --- a/gcc/configure +++ b/gcc/configure @@ -618,8 +618,6 @@ xm_include_list xm_file_list tm_p_include_list tm_p_file_list -libgcc_tm_include_list -libgcc_tm_file_list tm_defines tm_include_list tm_file_list @@ -11789,13 +11787,6 @@ for f in $tm_file; do esac done -libgcc_tm_file_list= -libgcc_tm_include_list= -for f in $libgcc_tm_file; do - libgcc_tm_file_list="${libgcc_tm_file_list} \$(srcdir)/../libgcc/config/$f" - libgcc_tm_include_list="${libgcc_tm_include_list} ../libgcc/config/$f" -done - tm_p_file_list= tm_p_include_list= for f in $tm_p_file; do @@ -18068,7 +18059,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18071 "configure" +#line 18062 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18174,7 +18165,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18177 "configure" +#line 18168 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -27014,8 +27005,6 @@ fi - - diff --git a/gcc/configure.ac b/gcc/configure.ac index 14bd61431305..6ef0b84c6daf 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1715,13 +1715,6 @@ for f in $tm_file; do esac done -libgcc_tm_file_list= -libgcc_tm_include_list= -for f in $libgcc_tm_file; do - libgcc_tm_file_list="${libgcc_tm_file_list} \$(srcdir)/../libgcc/config/$f" - libgcc_tm_include_list="${libgcc_tm_include_list} ../libgcc/config/$f" -done - tm_p_file_list= tm_p_include_list= for f in $tm_p_file; do @@ -4972,8 +4965,6 @@ AC_SUBST(thread_file) AC_SUBST(tm_file_list) AC_SUBST(tm_include_list) AC_SUBST(tm_defines) -AC_SUBST(libgcc_tm_file_list) -AC_SUBST(libgcc_tm_include_list) AC_SUBST(tm_p_file_list) AC_SUBST(tm_p_include_list) AC_SUBST(xm_file_list) diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh index d96af1d2f2bc..e93d45fabb3b 100644 --- a/gcc/mkconfig.sh +++ b/gcc/mkconfig.sh @@ -89,9 +89,8 @@ if [ -n "$HEADERS" ]; then fi # If this is tm.h, now include insn-flags.h only if IN_GCC is defined -# but neither GENERATOR_FILE nor USED_FOR_TARGET is defined. Also -# include libgcc_tm.h if USED_FOR_TARGET is defined. (Much of this is -# temporary.) +# but neither GENERATOR_FILE nor USED_FOR_TARGET is defined. (Much of this +# is temporary.) case $output in tm.h ) @@ -99,9 +98,6 @@ case $output in #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET # include "insn-flags.h" #endif -#ifdef USED_FOR_TARGET -# include "libgcc_tm.h" -#endif EOF ;; esac diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index deab941041ae..c169190c3977 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,56 @@ +2011-11-02 Rainer Orth + + * configure.ac (tm_file_): New variable. + Determine from tm_file. + (tm_file, tm_defines): Substitute. + * configure: Regenerate. + * mkheader.sh: New file. + * Makefile.in (clean): Remove libgcc_tm.h. + ($(objects)): Depend on libgcc_tm.h. + (libgcc_tm_defines, libgcc_tm_file): New variables. + (libgcc_tm.h, libgcc_tm.stamp): New targets. + ($(libgcc-objects), $(libgcc-s-objects), $(libgcc-eh-objects)) + ($(libgcov-objects), $(libunwind-objects), $(libunwind-s-objects)) + ($(extra-parts)): Depend on libgcc_tm.h. + * config.host (tm_defines, tm_file): New variable. + (arm*-*-linux*): Set tm_file for arm*-*-linux-*eabi. + (arm*-*-uclinux*): Set tm_file for arm*-*-uclinux*eabi. + (arm*-*-eabi*, arm*-*-symbianelf*): Set tm_file. + (avr-*-rtems*): Likewise. + (avr-*-*): Likewise. + (frv-*-elf): Likewise. + (frv-*-*linux*): Likewise. + (h8300-*-rtems*): Likewise. + (h8300-*-elf*): Likewise. + (i[34567]86-*-darwin*): Likewise. + (x86_64-*-darwin*): Likewise. + (rx-*-elf): Likewise. + (tic6x-*-uclinux): Likewise. + (tic6x-*-elf): Likewise. + (i[34567]86-*-linux*, x86_64-*-linux*): Likewise. + * config/alpha/gthr-posix.c: Include libgcc_tm.h. + * config/i386/cygming-crtbegin.c: Likewise. + * config/i386/cygming-crtend.c: Likewise. + * config/ia64/fde-vms.c: Likewise. + * config/ia64/unwind-ia64.c: Likewise. + * config/libbid/bid_gcc_intrinsics.h: Likewise. + * config/rs6000/darwin-fallback.c: Likewise. + * config/stormy16/lib2funcs.c: Likewise. + * config/xtensa/unwind-dw2-xtensa.c: Likewise. + * crtstuff.c: Likewise. + * dfp-bit.h: Likewise. + * emutls.c: Likewise. + * fixed-bit.c: Likewise. + * fp-bit.c: Likewise. + * generic-morestack-thread.c: Likewise. + * generic-morestack.c: Likewise. + * libgcc2.c: Likewise. + * libgcov.c: Likewise. + * unwind-dw2-fde-dip.c: Likewise. + * unwind-dw2-fde.c: Likewise. + * unwind-dw2.c: Likewise. + * unwind-sjlj.c: Likewise. + 2011-11-02 Rainer Orth * configure.ac: Include ../config/picflag.m4. diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index c0d496e5f19c..2ea6ca69d64b 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -121,7 +121,7 @@ installcheck: .PHONY: all clean clean: - -rm -f config.h stamp-h stmp-ldirs libgcc.map + -rm -f config.h libgcc_tm.h stamp-h stmp-ldirs libgcc.map -rm -f *$(objext) -rm -f *.dep -rm -f *.a @@ -338,6 +338,16 @@ SHLIBUNWIND_INSTALL = tmake_file = @tmake_file@ include $(srcdir)/empty.mk $(tmake_file) +# Collect target defines and headers from config.host. +libgcc_tm_defines = @tm_defines@ +libgcc_tm_file = @tm_file@ +libgcc_tm.h: libgcc_tm.stamp; @true +libgcc_tm.stamp: + DEFINES='$(libgcc_tm_defines)' HEADERS='$(libgcc_tm_file)' \ + $(srcdir)/mkheader.sh > tmp-libgcc_tm.h + $(SHELL) $(srcdir)/../move-if-change tmp-libgcc_tm.h libgcc_tm.h + echo timestamp > $@ + # Only handle shared libraries if both: # - the user requested them # - we know how to build them @@ -984,6 +994,11 @@ libgcc-extra-parts: $(EXTRA_PARTS) all: $(extra-parts) +$(libgcc-objects) $(libgcc-s-objects) $(libgcc-eh-objects) \ + $(libgcov-objects) \ + $(libunwind-objects) $(libunwind-s-objects) \ + $(extra-parts): libgcc_tm.h + install-unwind_h: dest=$(gcc_objdir)/include/tmp$$$$-unwind.h; \ cp unwind.h $$dest; \ diff --git a/libgcc/config.host b/libgcc/config.host index c4f445faa57b..05f084b70a09 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -60,6 +60,11 @@ # tmake_file A list of machine-description-specific # makefile-fragments, if different from # "$cpu_type/t-$cpu_type". +# 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. @@ -67,6 +72,8 @@ 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 @@ -329,6 +336,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF case ${host} in arm*-*-linux-*eabi) 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 ;; *) @@ -342,6 +350,7 @@ arm*-*-uclinux*) # ARM ucLinux case ${host} in arm*-*-uclinux*eabi) tmake_file="${tmake_file} arm/t-bpabi" + tm_file="$tm_file arm/bpabi-lib.h" unwind_header=config/arm/unwind-arm.h ;; esac @@ -354,6 +363,7 @@ arm*-*-ecos-elf) ;; arm*-*-eabi* | arm*-*-symbianelf* ) 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*) tmake_file="${tmake_file} arm/t-bpabi" @@ -361,6 +371,7 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ;; 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 @@ -380,12 +391,14 @@ arm*-wince-pe*) ;; avr-*-rtems*) tmake_file="$tmake_file avr/t-avr 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" + tm_file="$tm_file avr/avr-lib.h" ;; bfin*-elf*) tmake_file="bfin/t-bfin bfin/t-elf bfin/t-crtlibid bfin/t-crtstuff t-fdpbit" @@ -434,18 +447,22 @@ fr30-*-elf) ;; frv-*-elf) tmake_file="$tmake_file frv/t-frv t-fdpbit" + tm_file="$tm_file 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/frv-abi.h" ;; 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" ;; hppa*64*-*-linux*) @@ -499,10 +516,12 @@ hppa[12]*-*-hpux11*) ;; i[34567]86-*-darwin*) tmake_file="$tmake_file i386/t-crtpc i386/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 i386/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-*-elf*) @@ -907,6 +926,7 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) ;; 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" @@ -1046,11 +1066,13 @@ spu-*-elf*) ;; 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="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 ;; @@ -1127,5 +1149,6 @@ i[34567]86-*-linux* | x86_64-*-linux*) 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 diff --git a/libgcc/config/alpha/gthr-posix.c b/libgcc/config/alpha/gthr-posix.c index 4242cd6c110c..02681a4371eb 100644 --- a/libgcc/config/alpha/gthr-posix.c +++ b/libgcc/config/alpha/gthr-posix.c @@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" #include "tm.h" +#include "libgcc_tm.h" # define __gthrw_pragma(pragma) _Pragma (#pragma) /* Define so we provide weak definitions of functions used by libobjc only. */ #define _LIBOBJC_WEAK diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c index fc36cce257da..b589841fd01b 100644 --- a/libgcc/config/i386/cygming-crtbegin.c +++ b/libgcc/config/i386/cygming-crtbegin.c @@ -1,5 +1,5 @@ /* crtbegin object for windows32 targets. - Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2007, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Danny Smith @@ -32,6 +32,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "unwind-dw2-fde.h" #define WIN32_LEAN_AND_MEAN diff --git a/libgcc/config/i386/cygming-crtend.c b/libgcc/config/i386/cygming-crtend.c index 8545420b2710..ea53c84f6f1f 100644 --- a/libgcc/config/i386/cygming-crtend.c +++ b/libgcc/config/i386/cygming-crtend.c @@ -1,5 +1,5 @@ /* crtend object for windows32 targets. - Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Danny Smith @@ -34,6 +34,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "unwind-dw2-fde.h" #if defined(HAVE_LD_RO_RW_SECTION_MIXING) diff --git a/libgcc/config/ia64/fde-vms.c b/libgcc/config/ia64/fde-vms.c index c9ac5d280760..234cb3d6b3bd 100644 --- a/libgcc/config/ia64/fde-vms.c +++ b/libgcc/config/ia64/fde-vms.c @@ -29,6 +29,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include #include #include diff --git a/libgcc/config/ia64/unwind-ia64.c b/libgcc/config/ia64/unwind-ia64.c index e9ddfca88649..ca5c2670bf23 100644 --- a/libgcc/config/ia64/unwind-ia64.c +++ b/libgcc/config/ia64/unwind-ia64.c @@ -31,6 +31,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "unwind.h" #include "unwind-ia64.h" #include "unwind-compat.h" diff --git a/libgcc/config/libbid/bid_gcc_intrinsics.h b/libgcc/config/libbid/bid_gcc_intrinsics.h index 3f3e1ef17068..70529618c110 100644 --- a/libgcc/config/libbid/bid_gcc_intrinsics.h +++ b/libgcc/config/libbid/bid_gcc_intrinsics.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. +/* Copyright (C) 2007, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE diff --git a/libgcc/config/rs6000/darwin-fallback.c b/libgcc/config/rs6000/darwin-fallback.c index 4591071ea749..a61ea0b9ca23 100644 --- a/libgcc/config/rs6000/darwin-fallback.c +++ b/libgcc/config/rs6000/darwin-fallback.c @@ -1,5 +1,5 @@ /* Fallback frame-state unwinder for Darwin. - Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2007, 2009, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -28,6 +28,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "dwarf2.h" #include "unwind.h" #include "unwind-dw2.h" diff --git a/libgcc/config/stormy16/lib2funcs.c b/libgcc/config/stormy16/lib2funcs.c index e3c16435471f..a10a9b281193 100644 --- a/libgcc/config/stormy16/lib2funcs.c +++ b/libgcc/config/stormy16/lib2funcs.c @@ -4,7 +4,7 @@ files. On this glorious day maybe this code can be integrated into it too. */ -/* Copyright (C) 2005, 2008, 2009, 2010 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -31,6 +31,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #ifdef HAVE_GAS_HIDDEN #define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden"))) diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c index 54daf7637ce8..2ded579929f0 100644 --- a/libgcc/config/xtensa/unwind-dw2-xtensa.c +++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c @@ -28,6 +28,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "dwarf2.h" #include "unwind.h" #ifdef __USING_SJLJ_EXCEPTIONS__ diff --git a/libgcc/configure b/libgcc/configure index 192db62d0c2c..63b91b47a55b 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -593,6 +593,8 @@ LIBOBJS asm_hidden_op extra_parts cpu_type +tm_defines +tm_file tmake_file sfp_machine_header set_use_emutls @@ -4785,6 +4787,16 @@ done tmake_file="${tmake_file_}" +# Likewise export definitions for libgcc_tm.h +tm_file_= +for f in ${tm_file} +do + tm_file_="${tm_file_} \$(srcdir)/config/$f" +done +tm_file="${tm_file_}" + + + # Substitute configuration variables diff --git a/libgcc/configure.ac b/libgcc/configure.ac index 0aeede712754..303a95ff54bb 100644 --- a/libgcc/configure.ac +++ b/libgcc/configure.ac @@ -354,6 +354,16 @@ done tmake_file="${tmake_file_}" AC_SUBST(tmake_file) +# Likewise export definitions for libgcc_tm.h +tm_file_= +for f in ${tm_file} +do + tm_file_="${tm_file_} \$(srcdir)/config/$f" +done +tm_file="${tm_file_}" +AC_SUBST(tm_file) +AC_SUBST(tm_defines) + # Substitute configuration variables AC_SUBST(cpu_type) AC_SUBST(extra_parts) diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c index 010d472765df..66b2cdf24469 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -62,6 +62,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "unwind-dw2-fde.h" #ifndef FORCE_CODE_SECTION_ALIGN diff --git a/libgcc/dfp-bit.h b/libgcc/dfp-bit.h index 45b79086bc92..c97869baca1a 100644 --- a/libgcc/dfp-bit.h +++ b/libgcc/dfp-bit.h @@ -1,5 +1,5 @@ /* Header file for dfp-bit.c. - Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 + Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -33,6 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE diff --git a/libgcc/emutls.c b/libgcc/emutls.c index b7ee3bdfa7ce..22ea4403edbd 100644 --- a/libgcc/emutls.c +++ b/libgcc/emutls.c @@ -1,5 +1,5 @@ /* TLS emulation. - Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2006, 2008, 2009, 2011 Free Software Foundation, Inc. Contributed by Jakub Jelinek . This file is part of GCC. @@ -27,6 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "gthr.h" typedef unsigned int word __attribute__((mode(word))); diff --git a/libgcc/fixed-bit.c b/libgcc/fixed-bit.c index d434d131eecf..84e58155ccd5 100644 --- a/libgcc/fixed-bit.c +++ b/libgcc/fixed-bit.c @@ -1,5 +1,5 @@ /* This is a software fixed-point library. - Copyright (C) 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -46,6 +46,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #ifndef MIN_UNITS_PER_WORD #define MIN_UNITS_PER_WORD UNITS_PER_WORD diff --git a/libgcc/fp-bit.c b/libgcc/fp-bit.c index de9b3ada5ecb..7509f76f71e8 100644 --- a/libgcc/fp-bit.c +++ b/libgcc/fp-bit.c @@ -37,6 +37,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "fp-bit.h" /* The following macros can be defined to change the behavior of this file: diff --git a/libgcc/generic-morestack-thread.c b/libgcc/generic-morestack-thread.c index 794fdc3dc542..bbe6dd12b5a2 100644 --- a/libgcc/generic-morestack-thread.c +++ b/libgcc/generic-morestack-thread.c @@ -27,6 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" /* If inhibit_libc is defined, we can not compile this file. The effect is that people will not be able to use -fsplit-stack. That diff --git a/libgcc/generic-morestack.c b/libgcc/generic-morestack.c index 0b660cedd5f2..07bc2a660735 100644 --- a/libgcc/generic-morestack.c +++ b/libgcc/generic-morestack.c @@ -27,6 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" /* If inhibit_libc is defined, we can not compile this file. The effect is that people will not be able to use -fsplit-stack. That diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c index 57c40c5800f9..b672bcbdd415 100644 --- a/libgcc/libgcc2.c +++ b/libgcc/libgcc2.c @@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #ifdef HAVE_GAS_HIDDEN #define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden"))) diff --git a/libgcc/libgcov.c b/libgcc/libgcov.c index b39ef49343f5..26370c5948cc 100644 --- a/libgcc/libgcov.c +++ b/libgcc/libgcov.c @@ -1,7 +1,7 @@ /* Routines required for instrumenting a program. */ /* Compile this one with gcc. */ /* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010 + 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #if defined(inhibit_libc) #define IN_LIBGCOV (-1) diff --git a/libgcc/mkheader.sh b/libgcc/mkheader.sh new file mode 100755 index 000000000000..69ea37049010 --- /dev/null +++ b/libgcc/mkheader.sh @@ -0,0 +1,41 @@ +#! /bin/sh + +# Copyright (C) 2001, 2002, 2006, 2007, 2010, 2011 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 +# . + + +# Print libgcc_tm.h to the standard output. +# DEFINES and HEADERS are expected to be set in the environment. + +# Add multiple inclusion protection guard, part one. +echo "#ifndef LIBGCC_TM_H" +echo "#define LIBGCC_TM_H" + +# Generate the body of the file +echo "/* Automatically generated by mkheader.sh. */" +for def in $DEFINES; do + echo "#ifndef $def" | sed 's/=.*//' + echo "# define $def" | sed 's/=/ /' + echo "#endif" +done + +for file in $HEADERS; do + echo "#include \"$file\"" +done + +# Add multiple inclusion protection guard, part two. +echo "#endif /* LIBGCC_TM_H */" diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c index d8e3c0e934b0..f57dc8c3925d 100644 --- a/libgcc/unwind-dw2-fde-dip.c +++ b/libgcc/unwind-dw2-fde-dip.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 +/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Jakub Jelinek . @@ -38,6 +38,7 @@ #endif #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "dwarf2.h" #include "unwind.h" #define NO_BASE_OF_ENCODED_VALUE diff --git a/libgcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c index 93d427165c46..7a783329f7ca 100644 --- a/libgcc/unwind-dw2-fde.c +++ b/libgcc/unwind-dw2-fde.c @@ -1,6 +1,6 @@ /* Subroutines needed for unwinding stack frames for exception handling. */ /* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, - 2009, 2010 Free Software Foundation, Inc. + 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Jason Merrill . This file is part of GCC. @@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "dwarf2.h" #include "unwind.h" #define NO_BASE_OF_ENCODED_VALUE diff --git a/libgcc/unwind-dw2.c b/libgcc/unwind-dw2.c index 92aa233eb265..475ad00bf523 100644 --- a/libgcc/unwind-dw2.c +++ b/libgcc/unwind-dw2.c @@ -27,6 +27,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "dwarf2.h" #include "unwind.h" #ifdef __USING_SJLJ_EXCEPTIONS__ diff --git a/libgcc/unwind-sjlj.c b/libgcc/unwind-sjlj.c index c71e79858eec..1fc1c5d3dc92 100644 --- a/libgcc/unwind-sjlj.c +++ b/libgcc/unwind-sjlj.c @@ -1,6 +1,6 @@ /* SJLJ exception handling and frame unwind runtime interface routines. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, - 2009 Free Software Foundation, Inc. + 2009, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -27,6 +27,7 @@ #include "tsystem.h" #include "coretypes.h" #include "tm.h" +#include "libgcc_tm.h" #include "unwind.h" #include "gthr.h" -- 2.39.2