aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-11-02 15:26:35 +0000
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-11-02 15:26:35 +0000
commitc64b9e6454625372006a560779befe3383cfb585 (patch)
treed5991f5a71b14aa4bfbd550a11c4048ae52ebf16
parent596a40ba1304042a90a8f8d01555290e39a1f69b (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@180775 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog28
-rw-r--r--gcc/Makefile.in13
-rw-r--r--gcc/config.gcc23
-rwxr-xr-xgcc/configure15
-rw-r--r--gcc/configure.ac9
-rw-r--r--gcc/mkconfig.sh8
-rw-r--r--libgcc/ChangeLog53
-rw-r--r--libgcc/Makefile.in17
-rw-r--r--libgcc/config.host23
-rw-r--r--libgcc/config/alpha/gthr-posix.c1
-rw-r--r--libgcc/config/i386/cygming-crtbegin.c3
-rw-r--r--libgcc/config/i386/cygming-crtend.c3
-rw-r--r--libgcc/config/ia64/fde-vms.c1
-rw-r--r--libgcc/config/ia64/unwind-ia64.c1
-rw-r--r--libgcc/config/libbid/bid_gcc_intrinsics.h3
-rw-r--r--libgcc/config/rs6000/darwin-fallback.c3
-rw-r--r--libgcc/config/stormy16/lib2funcs.c3
-rw-r--r--libgcc/config/xtensa/unwind-dw2-xtensa.c1
-rw-r--r--libgcc/configure12
-rw-r--r--libgcc/configure.ac10
-rw-r--r--libgcc/crtstuff.c1
-rw-r--r--libgcc/dfp-bit.h3
-rw-r--r--libgcc/emutls.c3
-rw-r--r--libgcc/fixed-bit.c3
-rw-r--r--libgcc/fp-bit.c1
-rw-r--r--libgcc/generic-morestack-thread.c1
-rw-r--r--libgcc/generic-morestack.c1
-rw-r--r--libgcc/libgcc2.c1
-rw-r--r--libgcc/libgcov.c3
-rwxr-xr-xlibgcc/mkheader.sh41
-rw-r--r--libgcc/unwind-dw2-fde-dip.c3
-rw-r--r--libgcc/unwind-dw2-fde.c3
-rw-r--r--libgcc/unwind-dw2.c1
-rw-r--r--libgcc/unwind-sjlj.c3
34 files changed, 223 insertions, 75 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ec7a91205ba..f1e4860d1b9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,32 @@
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ * 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 <ro@CeBiTec.Uni-Bielefeld.DE>
* Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
(LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index ca818a893af..cf1c8a7f30b 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 8c4e4bef484..c1a77ff4db2 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 68473c1d888..cb116d22993 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
@@ -27017,8 +27008,6 @@ fi
-
-
# Echo link setup.
if test x${build} = x${host} ; then
if test x${host} = x${target} ; then
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 14bd6143130..6ef0b84c6da 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 d96af1d2f2b..e93d45fabb3 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 deab941041a..c169190c397 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,5 +1,58 @@
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * 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 <ro@CeBiTec.Uni-Bielefeld.DE>
+
* configure.ac: Include ../config/picflag.m4.
(GCC_PICFLAG): Call it.
Substitute.
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index c0d496e5f19..2ea6ca69d64 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 c4f445faa57..05f084b70a0 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 4242cd6c110..02681a4371e 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 fc36cce257d..b589841fd01 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 <dannysmith@users.sourceforge.net>
@@ -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 8545420b271..ea53c84f6f1 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 <dannysmith@users.sourceforge.net>
@@ -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 c9ac5d28076..234cb3d6b3b 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 <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/libgcc/config/ia64/unwind-ia64.c b/libgcc/config/ia64/unwind-ia64.c
index e9ddfca8864..ca5c2670bf2 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 3f3e1ef1706..70529618c11 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 4591071ea74..a61ea0b9ca2 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 e3c16435471..a10a9b28119 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 54daf7637ce..2ded579929f 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 192db62d0c2..63b91b47a55 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 0aeede71275..303a95ff54b 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 010d472765d..66b2cdf2446 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 45b79086bc9..c97869baca1 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 b7ee3bdfa7c..22ea4403edb 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 <jakub@redhat.com>.
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 d434d131eec..84e58155ccd 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 de9b3ada5ec..7509f76f71e 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 794fdc3dc54..bbe6dd12b5a 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 0b660cedd5f..07bc2a66073 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 57c40c5800f..b672bcbdd41 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 b39ef49343f..26370c5948c 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 00000000000..69ea3704901
--- /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
+# <http://www.gnu.org/licenses/>.
+
+
+# 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 d8e3c0e934b..f57dc8c3925 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 <jakub@redhat.com>.
@@ -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 93d427165c4..7a783329f7c 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 <jason@cygnus.com>.
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 92aa233eb26..475ad00bf52 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 c71e79858ee..1fc1c5d3dc9 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"