summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog56
-rw-r--r--gcc/Makefile.in27
-rw-r--r--gcc/aclocal.m41
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/gcc-interface/Makefile.in2
-rw-r--r--gcc/config.gcc3
-rw-r--r--gcc/config/arm/t-bpabi5
-rw-r--r--gcc/config/arm/t-symbian4
-rw-r--r--gcc/config/frv/t-frv6
-rw-r--r--gcc/config/ia64/t-glibc4
-rw-r--r--gcc/config/ia64/t-hpux4
-rw-r--r--gcc/config/ia64/t-ia643
-rw-r--r--gcc/config/ia64/t-vms2
-rw-r--r--gcc/config/ia64/vms.h3
-rw-r--r--gcc/config/picochip/t-picochip3
-rw-r--r--gcc/config/rs6000/aix.h34
-rw-r--r--gcc/config/rs6000/t-darwin4
-rw-r--r--gcc/config/sh/t-sh4
-rw-r--r--gcc/config/spu/t-spu-elf3
-rw-r--r--gcc/config/t-darwin4
-rw-r--r--gcc/config/t-freebsd4
-rw-r--r--gcc/config/t-libunwind5
-rw-r--r--gcc/config/t-linux4
-rw-r--r--gcc/config/t-sol25
-rw-r--r--gcc/config/xtensa/t-xtensa5
-rwxr-xr-xgcc/configure46
-rw-r--r--gcc/configure.ac5
-rw-r--r--gcc/po/ChangeLog6
-rw-r--r--gcc/po/EXCLUDES9
-rw-r--r--gcc/system.h2
-rw-r--r--libgcc/ChangeLog65
-rw-r--r--libgcc/Makefile.in21
-rw-r--r--libgcc/config.host52
-rw-r--r--libgcc/config/arm/libunwind.S (renamed from gcc/config/arm/libunwind.S)4
-rw-r--r--libgcc/config/arm/pr-support.c (renamed from gcc/config/arm/pr-support.c)0
-rw-r--r--libgcc/config/arm/t-bpabi3
-rw-r--r--libgcc/config/arm/t-symbian2
-rw-r--r--libgcc/config/arm/unwind-arm.c (renamed from gcc/config/arm/unwind-arm.c)0
-rw-r--r--libgcc/config/arm/unwind-arm.h (renamed from gcc/config/arm/unwind-arm.h)0
-rw-r--r--libgcc/config/ia64/fde-glibc.c (renamed from gcc/config/ia64/fde-glibc.c)0
-rw-r--r--libgcc/config/ia64/fde-vms.c (renamed from gcc/config/ia64/fde-vms.c)3
-rw-r--r--libgcc/config/ia64/t-eh-ia642
-rw-r--r--libgcc/config/ia64/t-glibc3
-rw-r--r--libgcc/config/ia64/t-glibc-libunwind (renamed from gcc/config/ia64/t-glibc-libunwind)1
-rw-r--r--libgcc/config/ia64/t-hpux1
-rw-r--r--libgcc/config/ia64/t-vms1
-rw-r--r--libgcc/config/ia64/unwind-ia64.c (renamed from gcc/config/ia64/unwind-ia64.c)14
-rw-r--r--libgcc/config/ia64/unwind-ia64.h (renamed from gcc/config/ia64/unwind-ia64.h)0
-rw-r--r--libgcc/config/ia64/vms-unwind.h5
-rw-r--r--libgcc/config/picochip/t-picochip2
-rw-r--r--libgcc/config/rs6000/aix-unwind.h57
-rw-r--r--libgcc/config/rs6000/darwin-fallback.c (renamed from gcc/config/rs6000/darwin-fallback.c)0
-rw-r--r--libgcc/config/rs6000/t-darwin2
-rw-r--r--libgcc/config/s390/t-tpf5
-rw-r--r--libgcc/config/t-darwin4
-rw-r--r--libgcc/config/t-eh-dw2-dip3
-rw-r--r--libgcc/config/t-libunwind3
-rw-r--r--libgcc/config/t-libunwind-elf (renamed from gcc/config/t-libunwind-elf)24
-rw-r--r--libgcc/config/t-sol25
-rw-r--r--libgcc/config/unwind-dw2-fde-darwin.c (renamed from gcc/unwind-dw2-fde-darwin.c)0
-rw-r--r--libgcc/config/xtensa/t-xtensa2
-rw-r--r--libgcc/config/xtensa/unwind-dw2-xtensa.c (renamed from gcc/config/xtensa/unwind-dw2-xtensa.c)0
-rw-r--r--libgcc/config/xtensa/unwind-dw2-xtensa.h (renamed from gcc/config/xtensa/unwind-dw2-xtensa.h)0
-rw-r--r--libgcc/configure45
-rw-r--r--libgcc/configure.ac7
-rw-r--r--libgcc/emutls.c (renamed from gcc/emutls.c)0
-rw-r--r--libgcc/unwind-c.c (renamed from gcc/unwind-c.c)0
-rw-r--r--libgcc/unwind-compat.c (renamed from gcc/unwind-compat.c)0
-rw-r--r--libgcc/unwind-compat.h (renamed from gcc/unwind-compat.h)0
-rw-r--r--libgcc/unwind-dw2-fde-compat.c (renamed from gcc/unwind-dw2-fde-compat.c)0
-rw-r--r--libgcc/unwind-dw2-fde-dip.c (renamed from gcc/unwind-dw2-fde-glibc.c)0
-rw-r--r--libgcc/unwind-dw2-fde.c (renamed from gcc/unwind-dw2-fde.c)0
-rw-r--r--libgcc/unwind-dw2-fde.h (renamed from gcc/unwind-dw2-fde.h)0
-rw-r--r--libgcc/unwind-dw2.c (renamed from gcc/unwind-dw2.c)0
-rw-r--r--libgcc/unwind-dw2.h (renamed from gcc/unwind-dw2.h)0
-rw-r--r--libgcc/unwind-generic.h (renamed from gcc/unwind-generic.h)0
-rw-r--r--libgcc/unwind-pe.h (renamed from gcc/unwind-pe.h)0
-rw-r--r--libgcc/unwind-sjlj.c (renamed from gcc/unwind-sjlj.c)0
-rw-r--r--libgcc/unwind.inc (renamed from gcc/unwind.inc)0
-rw-r--r--libgo/Makefile.am2
-rw-r--r--libgo/Makefile.in2
-rw-r--r--libjava/ChangeLog9
-rw-r--r--libjava/Makefile.am4
-rw-r--r--libjava/Makefile.in4
-rwxr-xr-xlibjava/configure8
-rw-r--r--libjava/configure.ac8
-rw-r--r--libobjc/ChangeLog5
-rw-r--r--libobjc/Makefile.in1
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/acinclude.m46
-rwxr-xr-xlibstdc++-v3/configure6
91 files changed, 421 insertions, 245 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f269930732d..438e8bb95f0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,59 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (UNWIND_H): Remove.
+ (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
+ ../libgcc/Makefile.in.
+ (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
+ (LIBUNWINDDEP): Remove.
+ (libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
+ (libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
+ LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
+ (stmp-int-hdrs): Remove $(UNWIND_H) dependency.
+ Don't copy $(UNWIND_H).
+ * config.gcc (ia64*-*-linux*): Remove with_system_libunwind
+ handling.
+ * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
+ unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
+ unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
+ unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
+ * unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
+ * config/arm/libunwind.S, config/arm/pr-support.c,
+ config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
+ ../libgcc/config/arm.
+ * config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
+ * config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
+ * config/frv/t-frv ($(T)frvbegin$(objext)): Use
+ $(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
+ ($(T)frvend$(objext)): Likewise.
+ * config/ia64/t-glibc (LIB2ADDEH): Remove.
+ * config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
+ * config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
+ config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
+ ../libgcc/config/ia64.
+ * config/ia64/t-hpux (LIB2ADDEH): Remove.
+ * config/ia64/t-ia64 (LIB2ADDEH): Remove.
+ * config/ia64/t-vms (LIB2ADDEH): Remove.
+ * config/ia64/vms.h (UNW_IVMS_MODE,
+ MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
+ * config/picochip/t-picochip (LIB2ADDEH): Remove.
+ * config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
+ * config/rs6000/t-darwin (LIB2ADDEH): Remove.
+ * config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
+ * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
+ $(srcdir)/../libgcc to refer to unwinder sources.
+ * config/spu/t-spu-elf (LIB2ADDEH): Remove.
+ * config/t-darwin (LIB2ADDEH): Remove.
+ * config/t-freebsd (LIB2ADDEH): Remove.
+ * config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
+ * config/t-libunwind-elf: Move to ../libgcc/config.
+ * config/t-linux (LIB2ADDEH): Remove.
+ * config/t-sol2 (LIB2ADDEH): Remove.
+ * config/xtensa/t-xtensa (LIB2ADDEH): Remove.
+ * system.h (MD_FROB_UPDATE_CONTEXT): Poison.
+
2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (processor_alias_table): Add core-avx-i.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 0204f93208a..889deb16240 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -378,8 +378,6 @@ USER_H = $(srcdir)/ginclude/float.h \
USER_H_INC_NEXT_PRE = @user_headers_inc_next_pre@
USER_H_INC_NEXT_POST = @user_headers_inc_next_post@
-UNWIND_H = $(srcdir)/unwind-generic.h
-
# The GCC to use for compiling crt*.o.
# Usually the one we just built.
# Don't use this as a dependency--use $(GCC_PASSES).
@@ -693,18 +691,6 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
-fno-stack-protector \
$(INHIBIT_LIBC_CFLAGS)
-# Additional sources to handle exceptions; overridden by targets as needed.
-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
-LIB2ADDEHSTATIC = $(LIB2ADDEH)
-LIB2ADDEHSHARED = $(LIB2ADDEH)
-
-# Don't build libunwind by default.
-LIBUNWIND =
-LIBUNWINDDEP =
-SHLIBUNWIND_LINK =
-SHLIBUNWIND_INSTALL =
-
# nm flags to list global symbols in libgcc object files.
SHLIB_NM_FLAGS = -pg
@@ -1898,7 +1884,7 @@ GCC_EXTRA_PARTS := $(sort $(EXTRA_MULTILIB_PARTS) $(EXTRA_PARTS))
libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H) \
$(MACHMODE_H) $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
- $(LIB2ADD_ST) $(LIB2ADDEH) $(srcdir)/emutls.c gcov-iov.h $(SFP_MACHINE)
+ $(LIB2ADD_ST) gcov-iov.h $(SFP_MACHINE)
libgcc.mvars: config.status Makefile $(LIB2ADD) $(LIB2ADD_ST) specs \
xgcc$(exeext)
@@ -1909,13 +1895,7 @@ libgcc.mvars: config.status Makefile $(LIB2ADD) $(LIB2ADD_ST) specs \
echo LIB2FUNCS_EXCLUDE = '$(LIB2FUNCS_EXCLUDE)' >> tmp-libgcc.mvars
echo LIB2ADD = '$(call srcdirify,$(LIB2ADD))' >> tmp-libgcc.mvars
echo LIB2ADD_ST = '$(call srcdirify,$(LIB2ADD_ST))' >> tmp-libgcc.mvars
- echo LIB2ADDEH = '$(call srcdirify,$(LIB2ADDEH) $(srcdir)/emutls.c)' >> tmp-libgcc.mvars
- echo LIB2ADDEHSTATIC = '$(call srcdirify,$(LIB2ADDEHSTATIC) $(srcdir)/emutls.c)' >> tmp-libgcc.mvars
- echo LIB2ADDEHSHARED = '$(call srcdirify,$(LIB2ADDEHSHARED) $(srcdir)/emutls.c)' >> tmp-libgcc.mvars
echo LIB2_SIDITI_CONV_FUNCS = '$(LIB2_SIDITI_CONV_FUNCS)' >> tmp-libgcc.mvars
- echo LIBUNWIND = '$(call srcdirify,$(LIBUNWIND))' >> tmp-libgcc.mvars
- echo SHLIBUNWIND_LINK = '$(SHLIBUNWIND_LINK)' >> tmp-libgcc.mvars
- echo SHLIBUNWIND_INSTALL = '$(SHLIBUNWIND_INSTALL)' >> tmp-libgcc.mvars
echo FPBIT = '$(FPBIT)' >> tmp-libgcc.mvars
echo FPBIT_FUNCS = '$(FPBIT_FUNCS)' >> tmp-libgcc.mvars
echo LIB2_DIVMOD_FUNCS = '$(LIB2_DIVMOD_FUNCS)' >> tmp-libgcc.mvars
@@ -4114,7 +4094,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
# be rebuilt.
# Build the include directories.
-stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fixinc_list
+stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) fixinc_list
# Copy in the headers provided with gcc.
# The sed command gets just the last file name component;
# this is necessary because VPATH could add a dirname.
@@ -4146,9 +4126,6 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fixinc_list
chmod a+r include/$$file; \
fi; \
done
- rm -f include/unwind.h
- cp $(UNWIND_H) include/unwind.h
- chmod a+r include/unwind.h
rm -f include/stdint.h
if [ $(USE_GCC_STDINT) = wrap ]; then \
rm -f include/stdint-gcc.h; \
diff --git a/gcc/aclocal.m4 b/gcc/aclocal.m4
index 73afd7fedee..1b90b2f5ee6 100644
--- a/gcc/aclocal.m4
+++ b/gcc/aclocal.m4
@@ -116,6 +116,5 @@ m4_include([../config/lib-prefix.m4])
m4_include([../config/override.m4])
m4_include([../config/progtest.m4])
m4_include([../config/stdint.m4])
-m4_include([../config/unwind_ipinfo.m4])
m4_include([../config/warnings.m4])
m4_include([acinclude.m4])
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index ce02f4f2889..743fa0e57dc 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (raise-gcc.o): Search
+ $(srcdir)/../libgcc.
+
2011-08-05 Bob Duff <duff@adacore.com>
* sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
@@ -100,6 +105,7 @@
necessary.
* put_scos.adb: Code simplification based on above change.
+>>>>>>> .r177446
2011-08-05 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 1642cc8622b..1e7a392edf4 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -2773,7 +2773,7 @@ vx_stack_info.o : vx_stack_info.c
raise-gcc.o : raise-gcc.c raise.h
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
- -iquote $(srcdir) \
+ -iquote $(srcdir)/../libgcc \
$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
cio.o : cio.c
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 94f15d8706d..673b768b770 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1604,9 +1604,6 @@ ia64*-*-freebsd*)
ia64*-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
- if test x$with_system_libunwind != xyes ; then
- tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
- fi
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
;;
diff --git a/gcc/config/arm/t-bpabi b/gcc/config/arm/t-bpabi
index 78812b35bd8..b6b5f40d723 100644
--- a/gcc/config/arm/t-bpabi
+++ b/gcc/config/arm/t-bpabi
@@ -25,11 +25,6 @@ LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/arm/fp16.c
-UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
-LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
- $(srcdir)/config/arm/libunwind.S \
- $(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
-
# Add the BPABI names.
SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
diff --git a/gcc/config/arm/t-symbian b/gcc/config/arm/t-symbian
index 3be83f445aa..f074591acbe 100644
--- a/gcc/config/arm/t-symbian
+++ b/gcc/config/arm/t-symbian
@@ -30,10 +30,6 @@ LIB1ASMFUNCS += \
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
_fixsfsi _fixunssfsi
-# Include the gcc personality routine
-UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
-LIB2ADDEH = $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c
-
# Include half-float helpers.
LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/arm/fp16.c
diff --git a/gcc/config/frv/t-frv b/gcc/config/frv/t-frv
index 0c58bb16713..2729008879c 100644
--- a/gcc/config/frv/t-frv
+++ b/gcc/config/frv/t-frv
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -81,12 +81,12 @@ EXTRA_MULTILIB_PARTS=frvbegin.o frvend.o
FRVSTUFF_CFLAGS = $(TARGET_LIBGCC2_CFLAGS)
$(T)frvbegin$(objext): $(srcdir)/config/frv/frvbegin.c $(GCC_PASSES) \
- $(CONFIG_H) defaults.h unwind-dw2-fde.h gbl-ctors.h
+ $(CONFIG_H) defaults.h $(srcdir)/../libgcc/unwind-dw2-fde.h gbl-ctors.h
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) $(FRVSTUFF_CFLAGS) \
-c $(srcdir)/config/frv/frvbegin.c -o $(T)frvbegin$(objext)
$(T)frvend$(objext): $(srcdir)/config/frv/frvend.c $(GCC_PASSES) \
- $(CONFIG_H) defaults.h unwind-dw2-fde.h gbl-ctors.h
+ $(CONFIG_H) defaults.h $(srcdir)/../libgcc/unwind-dw2-fde.h gbl-ctors.h
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) $(FRVSTUFF_CFLAGS) \
-c $(srcdir)/config/frv/frvend.c -o $(T)frvend$(objext)
diff --git a/gcc/config/ia64/t-glibc b/gcc/config/ia64/t-glibc
index e6d72b94a87..ce18a92e275 100644
--- a/gcc/config/ia64/t-glibc
+++ b/gcc/config/ia64/t-glibc
@@ -1,5 +1 @@
-# Use system libunwind library on IA-64 GLIBC based system.
-LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
- $(srcdir)/unwind-compat.c
-
SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-glibc.ver
diff --git a/gcc/config/ia64/t-hpux b/gcc/config/ia64/t-hpux
index a97ab5c4478..4aa661441b2 100644
--- a/gcc/config/ia64/t-hpux
+++ b/gcc/config/ia64/t-hpux
@@ -1,5 +1,5 @@
# Copyright (C) 2001, 2002, 2003, 2004, 2005,
-# 2006 Free Software Foundation, Inc.
+# 2006, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -50,8 +50,6 @@ LIBGCC1_TEST =
T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
-LIB2ADDEH = $(srcdir)/unwind-c.c
-
SHLIB_EXT = .so
# Must include -lunwind in the link, so that libgcc_s.so has the necessary
# DT_NEEDED entry for libunwind.
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index 4f013e2d591..f130f7c09d1 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -43,9 +43,6 @@ SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-ia64.ver
# Effectively disable the crtbegin/end rules using crtstuff.c
T = disable
-LIB2ADDEH = $(srcdir)/config/ia64/unwind-ia64.c $(srcdir)/unwind-sjlj.c \
- $(srcdir)/unwind-c.c
-
ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
diff --git a/gcc/config/ia64/t-vms b/gcc/config/ia64/t-vms
index bcd753401f1..094d53483ee 100644
--- a/gcc/config/ia64/t-vms
+++ b/gcc/config/ia64/t-vms
@@ -32,8 +32,6 @@ $(T)crtinitS.o: $(srcdir)/config/ia64/vms-crtinit.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) -I. -c -o $(T)crtinitS.o -x assembler-with-cpp \
$(srcdir)/config/ia64/vms-crtinit.asm
-LIB2ADDEH += $(srcdir)/config/ia64/fde-vms.c
-
# Shared library macros
shlib_version:=$(shell echo $(BASEVER_c) | sed -e 's/\./,/' -e 's/\.//g')
SHLIB_EXT = .exe
diff --git a/gcc/config/ia64/vms.h b/gcc/config/ia64/vms.h
index 847d79afa1d..853e0239d3b 100644
--- a/gcc/config/ia64/vms.h
+++ b/gcc/config/ia64/vms.h
@@ -139,9 +139,6 @@ STATIC func_ptr __CTOR_LIST__[1] \
/* Define this to be nonzero if static stack checking is supported. */
#define STACK_CHECK_STATIC_BUILTIN 1
-#define UNW_IVMS_MODE(HEADER) (((HEADER) >> 44) & 0x3L)
-#define MD_UNW_COMPATIBLE_PERSONALITY_P(HEADER) (!UNW_IVMS_MODE (HEADER))
-
/* Minimum amount of stack required to recover from an anticipated stack
overflow detection. The default value conveys an estimate of the amount
of stack required to propagate an exception. */
diff --git a/gcc/config/picochip/t-picochip b/gcc/config/picochip/t-picochip
index ba4394eceeb..4df74a01fc6 100644
--- a/gcc/config/picochip/t-picochip
+++ b/gcc/config/picochip/t-picochip
@@ -43,9 +43,6 @@ LIB2FUNCS_EXTRA = \
LIB1ASMFUNCS = _mulsc3 _divsc3
LIB1ASMSRC = picochip/libgccExtras/fake_libgcc.asm
-# Turn off the building of exception handling libraries.
-LIB2ADDEH =
-
# Turn off ranlib on target libraries.
RANLIB_FOR_TARGET = cat
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 13d317f508a..2c678a3a247 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -209,40 +209,6 @@
/* And similarly for general purpose registers. */
#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32)
-/* If the current unwind info (FS) does not contain explicit info
- saving R2, then we have to do a minor amount of code reading to
- figure out if it was saved. The big problem here is that the
- code that does the save/restore is generated by the linker, so
- we have no good way to determine at compile time what to do. */
-
-#define R_LR 65
-
-#ifdef __64BIT__
-#define MD_FROB_UPDATE_CONTEXT(CTX, FS) \
- do { \
- if ((FS)->regs.reg[2].how == REG_UNSAVED) \
- { \
- unsigned int *insn \
- = (unsigned int *) \
- _Unwind_GetGR ((CTX), R_LR); \
- if (*insn == 0xE8410028) \
- _Unwind_SetGRPtr ((CTX), 2, (CTX)->cfa + 40); \
- } \
- } while (0)
-#else
-#define MD_FROB_UPDATE_CONTEXT(CTX, FS) \
- do { \
- if ((FS)->regs.reg[2].how == REG_UNSAVED) \
- { \
- unsigned int *insn \
- = (unsigned int *) \
- _Unwind_GetGR ((CTX), R_LR); \
- if (*insn == 0x80410014) \
- _Unwind_SetGRPtr ((CTX), 2, (CTX)->cfa + 20); \
- } \
- } while (0)
-#endif
-
#define PROFILE_HOOK(LABEL) output_profile_hook (LABEL)
/* No version of AIX fully supports AltiVec or 64-bit instructions in
diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin
index 8113b9ecbcb..27fc07b69b3 100644
--- a/gcc/config/rs6000/t-darwin
+++ b/gcc/config/rs6000/t-darwin
@@ -1,5 +1,5 @@
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007 Free Software Foundation, Inc.
+# 2007, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -40,7 +40,5 @@ TARGET_LIBGCC2_CFLAGS = -Wa,-force_cpusubtype_ALL -pipe -mmacosx-version-min=10.
# Export the _xlq* symbols from darwin-ldouble.c.
SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver
-LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
-
darwin-fpsave.o: $(srcdir)/config/rs6000/darwin-asm.h
darwin-tramp.o: $(srcdir)/config/rs6000/darwin-asm.h
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index a897bfffb47..27cbd3d3e88 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -1,5 +1,5 @@
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
+# 2003, 2004, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -149,7 +149,7 @@ $(T)sdivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.asm $(GCC_PAS
$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $@ -DL_sdivsi3_i4i -x assembler-with-cpp $<
$(T)udivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $@ -DL_udivsi3_i4i -x assembler-with-cpp $<
-$(T)unwind-dw2-Os-4-200.o: $(srcdir)/unwind-dw2.c $(srcdir)/unwind-generic.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h $(CONFIG_H) coretypes.h $(TM_H) $(MACHMODE_H) longlong.h config.status stmp-int-hdrs tsystem.h $(GCC_PASSES)
+$(T)unwind-dw2-Os-4-200.o: $(srcdir)/../libgcc/unwind-dw2.c $(srcdir)/../libgcc/unwind-generic.h $(srcdir)/../libgcc/unwind-pe.h $(srcdir)/../libgcc/unwind.inc $(srcdir)/../libgcc/unwind-dw2-fde.h $(srcdir)/../libgcc/unwind-dw2.h $(CONFIG_H) coretypes.h $(TM_H) $(MACHMODE_H) longlong.h config.status stmp-int-hdrs tsystem.h $(GCC_PASSES)
$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) $(LIBGCC2_CFLAGS) $(INCLUDES) $(vis_hide) -fexceptions -Os -c -o $@ $<
OBJS_Os_4_200=$(T)sdivsi3_i4i-Os-4-200.o $(T)udivsi3_i4i-Os-4-200.o $(T)unwind-dw2-Os-4-200.o
$(T)libgcc-Os-4-200.a: $(OBJS_Os_4_200) $(GCC_PASSES)
diff --git a/gcc/config/spu/t-spu-elf b/gcc/config/spu/t-spu-elf
index 5189f28584d..ab680f5be88 100644
--- a/gcc/config/spu/t-spu-elf
+++ b/gcc/config/spu/t-spu-elf
@@ -47,9 +47,6 @@ LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/spu/float_unssidf.c \
$(srcdir)/config/spu/divmodti4.c \
$(srcdir)/config/spu/divv2df3.c
-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
-
# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index 9e77395998d..d952bd39273 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -42,10 +42,6 @@ darwin-driver.o: $(srcdir)/config/darwin-driver.c \
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/darwin-driver.c
-# Use unwind-dw2-fde-darwin
-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-darwin.c \
- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
-
# -pipe because there's an assembler bug, 4077127, which causes
# it to not properly process the first # directive, causing temporary
# file names to appear in stabs, causing the bootstrap to fail. Using -pipe
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
index af2df24f105..0680618a6ec 100644
--- a/gcc/config/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -3,7 +3,3 @@ CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
# Compile libgcc.a with pic.
TARGET_LIBGCC2_CFLAGS += -fPIC
-
-# Use unwind-dw2-fde-glibc
-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/t-libunwind b/gcc/config/t-libunwind
index 6fdaf676b37..6b8d2dd1292 100644
--- a/gcc/config/t-libunwind
+++ b/gcc/config/t-libunwind
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,9 +22,6 @@
# so that the resulting libgcc_s.so has the necessary DT_NEEDED entry for
# libunwind.
SHLIB_LC = -lunwind -lc
-LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
- $(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c
-LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
TARGET_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 039fa27ae82..64d19ca8dd7 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -25,7 +25,3 @@ TARGET_LIBGCC2_CFLAGS = -fPIC
# Override t-slibgcc-elf-ver to export some libgcc symbols with
# the symbol versions that glibc used.
SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
-
-# Use unwind-dw2-fde-glibc
-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index 73fd8eb3667..f53da4d3ca6 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -31,8 +31,3 @@ sol2.o: $(srcdir)/config/sol2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
# This is required by gcc/ada/gcc-interface/Makefile.in.
TARGET_LIBGCC2_CFLAGS = -fPIC
-
-# Use unwind-dw2-fde-glibc.c. Unless linker support and dl_iterate_phdr
-# are present, automatically falls back to unwind-dw2-fde.c.
-LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
- $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/xtensa/t-xtensa b/gcc/config/xtensa/t-xtensa
index c3d98ae30b5..641e6fe7620 100644
--- a/gcc/config/xtensa/t-xtensa
+++ b/gcc/config/xtensa/t-xtensa
@@ -1,4 +1,5 @@
-# Copyright (C) 2002, 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2006, 2007, 2008, 2011
+# Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -29,8 +30,6 @@ LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \
_truncdfsf2 _extendsfdf2
LIB2FUNCS_EXTRA = $(srcdir)/config/xtensa/lib2funcs.S
-LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \
- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
$(T)crti.o: $(srcdir)/config/xtensa/crti.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
diff --git a/gcc/configure b/gcc/configure
index 63e44c5e43d..88bb116dc1f 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -894,7 +894,6 @@ enable_rpath
with_libiconv_prefix
enable_initfini_array
enable_sjlj_exceptions
-with_system_libunwind
enable_secureplt
enable_leading_mingw64_underscores
enable_cld
@@ -1659,7 +1658,6 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
- --with-system-libunwind use installed libunwind
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -10855,46 +10853,6 @@ _ACEOF
fi
-# For platforms with the unwind ABI which includes an unwind library,
-# libunwind, we can choose to use the system libunwind.
-# config.gcc also contains tests of with_system_libunwind.
-
-
-# Check whether --with-system-libunwind was given.
-if test "${with_system_libunwind+set}" = set; then :
- withval=$with_system_libunwind;
-fi
-
- # If system-libunwind was not specifically set, pick a default setting.
- if test x$with_system_libunwind = x; then
- case ${target} in
- ia64-*-hpux*) with_system_libunwind=yes ;;
- *) with_system_libunwind=no ;;
- esac
- fi
- # Based on system-libunwind and target, do we have ipinfo?
- if test x$with_system_libunwind = xyes; then
- case ${target} in
- ia64-*-*) have_unwind_getipinfo=no ;;
- *) have_unwind_getipinfo=yes ;;
- esac
- else
- # Darwin before version 9 does not have _Unwind_GetIPInfo.
-
- case ${target} in
- *-*-darwin[3-8]|*-*-darwin[3-8].*) have_unwind_getipinfo=no ;;
- *) have_unwind_getipinfo=yes ;;
- esac
-
- fi
-
- if test x$have_unwind_getipinfo = xyes; then
-
-$as_echo "#define HAVE_GETIPINFO 1" >>confdefs.h
-
- fi
-
-
# --------------------------------------------------------
# Build, host, and target specific configuration fragments
# --------------------------------------------------------
@@ -17805,7 +17763,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17808 "configure"
+#line 17766 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17911,7 +17869,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17914 "configure"
+#line 17872 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index c71281cbeb2..81345d6f328 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1184,11 +1184,6 @@ if test $force_sjlj_exceptions = yes; then
[Define 0/1 to force the choice for exception handling model.])
fi
-# For platforms with the unwind ABI which includes an unwind library,
-# libunwind, we can choose to use the system libunwind.
-# config.gcc also contains tests of with_system_libunwind.
-GCC_CHECK_UNWIND_GETIPINFO
-
# --------------------------------------------------------
# Build, host, and target specific configuration fragments
# --------------------------------------------------------
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 1123a00424d..610ca9ba7d0 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,9 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
+ (unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
+ (unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.
+
2011-07-31 Joseph Myers <joseph@codesourcery.com>
* de.po: Update.
diff --git a/gcc/po/EXCLUDES b/gcc/po/EXCLUDES
index cc29a2bd1ac..12fced15f72 100644
--- a/gcc/po/EXCLUDES
+++ b/gcc/po/EXCLUDES
@@ -44,15 +44,6 @@ libgcc2.h
limitx.h
limity.h
longlong.h
-unwind-c.c
-unwind-dw2-fde-darwin.c
-unwind-dw2-fde-glibc.c
-unwind-dw2-fde.c
-unwind-dw2-fde.h
-unwind-dw2.c
-unwind-pe.h
-unwind-sjlj.c
-unwind.h
# These programs are meant to be executed only by GCC maintainers or
# installers. Such files do not need to be translated, as these
diff --git a/gcc/system.h b/gcc/system.h
index 7ac98596bc7..a7db6f58f85 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -802,7 +802,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
/* Target macros only used for code built for the target, that have
moved to libgcc-tm.h or have never been present elsewhere. */
#pragma GCC poison DECLARE_LIBRARY_RENAMES LIBGCC2_GNU_PREFIX \
- MD_UNWIND_SUPPORT ENABLE_EXECUTE_STACK
+ MD_UNWIND_SUPPORT MD_FROB_UPDATE_CONTEXT ENABLE_EXECUTE_STACK
/* Other obsolete target macros, or macros that used to be in target
headers and were not used, and may be obsolete or may never have
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 322b93ec861..65d47a80278 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,68 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
+ variables.
+ (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
+ (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
+ (install-unwind_h): New target.
+ (all): Depend on it.
+ * config.host (unwind_header): New variable.
+ (*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
+ (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
+ *-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
+ (*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
+ (arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
+ Set unwind_header.
+ (arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
+ Set unwind_header.
+ (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
+ arm*-*-eabi*.
+ Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
+ Set unwind_header.
+ (ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
+ (ia64*-*-freebsd*): Likewise.
+ (ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
+ tmake_file.
+ Add t-libunwind-elf, ia64/t-glibc-libunwind unless
+ $with_system_libunwind.
+ (ia64*-*-hpux*): Set tmake_file.
+ (ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
+ (picochip-*-*): Set tmake_file.
+ (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
+ md_unwind_header.
+ (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
+ (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
+ (s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
+ (xtensa*-*-elf*): Set tmake_file.
+ (xtensa*-*-linux*): Likewise.
+ * configure.ac: Include ../config/unwind_ipinfo.m4.
+ Call GCC_CHECK_UNWIND_GETIPINFO.
+ Link unwind.h to $unwind_header.
+ * configure: Regenerate.
+ * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
+ unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
+ unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
+ unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
+ * config/unwind-dw2-fde-darwin.c: New file.
+ * config/arm/libunwind.S, config/arm/pr-support.c,
+ config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
+ config/arm/unwind-arm.h,: New files.
+ * config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
+ config/ia64/t-eh-ia64, config/ia64/t-glibc,
+ config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
+ config/ia64/t-vms, config/ia64/unwind-ia64.c,
+ config/ia64/unwind-ia64.h: New files.
+ * config/picochip/t-picochip: New file.
+ * config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
+ files.
+ * config/rs6000/t-darwin (LIB2ADDEH): Set.
+ * config/s390/t-tpf (LIB2ADDEH): Remove.
+ * config/t-darwin (LIB2ADDEH): Set.
+ * config/t-eh-dw2-dip: New file.
+ * config/t-libunwind, config/t-libunwind-elf: New files.
+ * config/t-sol2 (LIB2ADDEH): Remove.
+ * config/xtensa/t-xtensa: New file.
+
2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): New.
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 5f7cd629fc2..c252d9a2217 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -256,6 +256,17 @@ LIBGCC_VER_GNU_PREFIX = __
LIBGCC_VER_FIXEDPOINT_GNU_PREFIX = __
LIBGCC_VER_SYMBOLS_PREFIX =
+# Additional sources to handle exceptions; overridden by targets as needed.
+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
+LIB2ADDEHSTATIC = $(LIB2ADDEH)
+LIB2ADDEHSHARED = $(LIB2ADDEH)
+
+# Don't build libunwind by default.
+LIBUNWIND =
+SHLIBUNWIND_LINK =
+SHLIBUNWIND_INSTALL =
+
tmake_file = @tmake_file@
include $(srcdir)/empty.mk $(tmake_file)
@@ -316,6 +327,10 @@ endif
LIB2ADD += enable-execute-stack.c
+LIB2ADDEH += $(srcdir)/emutls.c
+LIB2ADDEHSTATIC += $(srcdir)/emutls.c
+LIB2ADDEHSHARED += $(srcdir)/emutls.c
+
# Library members defined in libgcc2.c.
lib2funcs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2 \
_clear_cache _trampoline __main _absvsi2 \
@@ -967,6 +982,12 @@ gcc-extra-parts:
all: $(extra-parts)
+install-unwind_h:
+ cp unwind.h $(gcc_objdir)/include/unwind.h
+ chmod a+r $(gcc_objdir)/include/unwind.h
+
+all: install-unwind_h
+
# Documentation targets (empty).
.PHONY: info html dvi pdf install-info install-html install-pdf
diff --git a/libgcc/config.host b/libgcc/config.host
index f7c1b3bd035..db00c4c2d8c 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -57,12 +57,15 @@
# tmake_file A list of machine-description-specific
# makefile-fragments, if different from
# "$cpu_type/t-$cpu_type".
+# 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=
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/-.*$//'`
@@ -171,8 +174,10 @@ case ${host} in
# This is the generic ELF configuration of FreeBSD. Later
# machine-specific sections may refine and add to this
# configuration.
+ tmake_file=t-eh-dw2-dip
;;
-*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
+ tmake_file=t-eh-dw2-dip
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
;;
*-*-netbsd*)
@@ -182,7 +187,9 @@ case ${host} in
*-*-rtems*)
;;
*-*-solaris2*)
- tmake_file="$tmake_file t-sol2 t-slibgcc t-slibgcc-elf-ver"
+ # 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 t-sol2 t-eh-dw2-dip t-slibgcc t-slibgcc-elf-ver"
if test $with_gnu_ld = yes; then
tmake_file="$tmake_file t-slibgcc-gld"
else
@@ -265,14 +272,35 @@ arm*-*-netbsdelf*)
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
+ case ${host} in
+ arm*-*-linux-*eabi)
+ tmake_file="${tmake_file} arm/t-bpabi"
+ unwind_header=config/arm/unwind-arm.h
+ ;;
+ esac
;;
arm*-*-uclinux*) # ARM ucLinux
tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
+ case ${host} in
+ arm*-*-uclinux*eabi)
+ tmake_file="${tmake_file} arm/t-bpabi"
+ unwind_header=config/arm/unwind-arm.h
+ ;;
+ esac
;;
arm*-*-ecos-elf)
;;
arm*-*-eabi* | arm*-*-symbianelf* )
tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
+ case ${host} in
+ arm*-*-eabi*)
+ tmake_file="${tmake_file} arm/t-bpabi"
+ ;;
+ arm*-*-symbianelf*)
+ tmake_file="${tmake_file} arm/t-symbian"
+ ;;
+ esac
+ unwind_header=config/arm/unwind-arm.h
;;
arm*-*-rtems*)
;;
@@ -408,21 +436,25 @@ i[34567]86-*-interix3*)
;;
ia64*-*-elf*)
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
- tmake_file="ia64/t-ia64 t-crtfm"
+ tmake_file="ia64/t-ia64 ia64/t-eh-ia64 t-crtfm"
;;
ia64*-*-freebsd*)
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
- tmake_file="ia64/t-ia64 t-crtfm"
+ tmake_file="ia64/t-ia64 ia64/t-eh-ia64 t-crtfm"
;;
ia64*-*-linux*)
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
- tmake_file="ia64/t-ia64 t-crtfm t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat"
+ tmake_file="ia64/t-ia64 t-crtfm t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat ia64/t-glibc ia64/t-eh-ia64 t-libunwind"
+ if test x$with_system_libunwind != xyes ; then
+ tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
+ fi
md_unwind_header=ia64/linux-unwind.h
;;
ia64*-*-hpux*)
+ tmake_file="ia64/t-hpux"
;;
ia64-hp-*vms*)
- tmake_file="vms/t-vms vms/t-vms64 ia64/t-vms"
+ tmake_file="vms/t-vms vms/t-vms64 ia64/t-eh-ia64 ia64/t-vms"
md_unwind_header=ia64/vms-unwind.h
;;
iq2000*-*-elf*)
@@ -522,6 +554,7 @@ moxie-*-*)
pdp11-*-*)
;;
picochip-*-*)
+ tmake_file=picochip/t-picochip
;;
powerpc-*-darwin*)
case ${host} in
@@ -574,10 +607,13 @@ powerpcle-*-eabisim*)
powerpcle-*-eabi*)
;;
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
+ md_unwind_header=rs6000/aix-unwind.h
;;
rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
+ md_unwind_header=rs6000/aix-unwind.h
;;
rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
+ md_unwind_header=rs6000/aix-unwind.h
;;
rx-*-elf)
extra_parts="crtbegin.o crtend.o"
@@ -592,7 +628,7 @@ s390x-*-linux*)
md_unwind_header=s390/linux-unwind.h
;;
s390x-ibm-tpf*)
- tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf"
+ tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf t-eh-dw2-dip"
md_unwind_header=s390/tpf-unwind.h
;;
score-*-elf)
@@ -674,8 +710,10 @@ vax-*-openbsd*)
xstormy16-*-elf)
;;
xtensa*-*-elf*)
+ tmake_file=xtensa/t-xtensa
;;
xtensa*-*-linux*)
+ tmake_file=xtensa/t-xtensa
md_unwind_header=xtensa/linux-unwind.h
;;
am33_2.0-*-linux*)
diff --git a/gcc/config/arm/libunwind.S b/libgcc/config/arm/libunwind.S
index 48eb592fd1a..a3a19daab4b 100644
--- a/gcc/config/arm/libunwind.S
+++ b/libgcc/config/arm/libunwind.S
@@ -1,5 +1,5 @@
/* Support functions for the unwinder.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Paul Brook
@@ -40,7 +40,7 @@
#ifndef __symbian__
-#include "lib1funcs.asm"
+#include "config/arm/lib1funcs.asm"
.macro UNPREFIX name
.global SYM (\name)
diff --git a/gcc/config/arm/pr-support.c b/libgcc/config/arm/pr-support.c
index deee661e264..deee661e264 100644
--- a/gcc/config/arm/pr-support.c
+++ b/libgcc/config/arm/pr-support.c
diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi
new file mode 100644
index 00000000000..a3b23dcd20c
--- /dev/null
+++ b/libgcc/config/arm/t-bpabi
@@ -0,0 +1,3 @@
+LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
+ $(srcdir)/config/arm/libunwind.S \
+ $(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
diff --git a/libgcc/config/arm/t-symbian b/libgcc/config/arm/t-symbian
new file mode 100644
index 00000000000..6788d5f40b3
--- /dev/null
+++ b/libgcc/config/arm/t-symbian
@@ -0,0 +1,2 @@
+# Include the gcc personality routine
+LIB2ADDEH = $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c
diff --git a/gcc/config/arm/unwind-arm.c b/libgcc/config/arm/unwind-arm.c
index 90d258d3c80..90d258d3c80 100644
--- a/gcc/config/arm/unwind-arm.c
+++ b/libgcc/config/arm/unwind-arm.c
diff --git a/gcc/config/arm/unwind-arm.h b/libgcc/config/arm/unwind-arm.h
index 1a51d8d4824..1a51d8d4824 100644
--- a/gcc/config/arm/unwind-arm.h
+++ b/libgcc/config/arm/unwind-arm.h
diff --git a/gcc/config/ia64/fde-glibc.c b/libgcc/config/ia64/fde-glibc.c
index 12760b96eda..12760b96eda 100644
--- a/gcc/config/ia64/fde-glibc.c
+++ b/libgcc/config/ia64/fde-glibc.c
diff --git a/gcc/config/ia64/fde-vms.c b/libgcc/config/ia64/fde-vms.c
index b310f0d11b6..c9ac5d28076 100644
--- a/gcc/config/ia64/fde-vms.c
+++ b/libgcc/config/ia64/fde-vms.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2009, 2011 Free Software Foundation, Inc.
Contributed by Douglas B Rupp <rupp@gnat.com>
This file is part of GCC.
@@ -32,6 +32,7 @@
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
+#include "md-unwind-support.h"
#include "unwind-ia64.h"
#define __int64 long
diff --git a/libgcc/config/ia64/t-eh-ia64 b/libgcc/config/ia64/t-eh-ia64
new file mode 100644
index 00000000000..6aa4bb930b8
--- /dev/null
+++ b/libgcc/config/ia64/t-eh-ia64
@@ -0,0 +1,2 @@
+LIB2ADDEH = $(srcdir)/config/ia64/unwind-ia64.c $(srcdir)/unwind-sjlj.c \
+ $(srcdir)/unwind-c.c
diff --git a/libgcc/config/ia64/t-glibc b/libgcc/config/ia64/t-glibc
new file mode 100644
index 00000000000..df4fe9c4404
--- /dev/null
+++ b/libgcc/config/ia64/t-glibc
@@ -0,0 +1,3 @@
+# Use system libunwind library on IA-64 GLIBC based system.
+LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
+ $(srcdir)/unwind-compat.c
diff --git a/gcc/config/ia64/t-glibc-libunwind b/libgcc/config/ia64/t-glibc-libunwind
index df78f1d094f..8b1736a2d67 100644
--- a/gcc/config/ia64/t-glibc-libunwind
+++ b/libgcc/config/ia64/t-glibc-libunwind
@@ -1,4 +1,3 @@
# Build libunwind for IA-64 GLIBC based system.
LIBUNWIND = $(srcdir)/config/ia64/fde-glibc.c \
$(srcdir)/config/ia64/unwind-ia64.c
-LIBUNWINDDEP = unwind.inc
diff --git a/libgcc/config/ia64/t-hpux b/libgcc/config/ia64/t-hpux
new file mode 100644
index 00000000000..ef3387e7a61
--- /dev/null
+++ b/libgcc/config/ia64/t-hpux
@@ -0,0 +1 @@
+LIB2ADDEH = $(srcdir)/unwind-c.c
diff --git a/libgcc/config/ia64/t-vms b/libgcc/config/ia64/t-vms
new file mode 100644
index 00000000000..9bc933adfe0
--- /dev/null
+++ b/libgcc/config/ia64/t-vms
@@ -0,0 +1 @@
+LIB2ADDEH += $(srcdir)/config/ia64/fde-vms.c
diff --git a/gcc/config/ia64/unwind-ia64.c b/libgcc/config/ia64/unwind-ia64.c
index 061bd4b8980..e9ddfca8864 100644
--- a/gcc/config/ia64/unwind-ia64.c
+++ b/libgcc/config/ia64/unwind-ia64.c
@@ -41,13 +41,6 @@
#ifndef __USING_SJLJ_EXCEPTIONS__
-
-/* By default, assume personality routine interface compatibility with
- our expectations. */
-#ifndef MD_UNW_COMPATIBLE_PERSONALITY_P
-#define MD_UNW_COMPATIBLE_PERSONALITY_P(HEADER) 1
-#endif
-
enum unw_application_register
{
UNW_AR_BSP,
@@ -1768,6 +1761,13 @@ _Unwind_GetBSP (struct _Unwind_Context *context)
}
#include "md-unwind-support.h"
+
+/* By default, assume personality routine interface compatibility with
+ our expectations. */
+#ifndef MD_UNW_COMPATIBLE_PERSONALITY_P
+#define MD_UNW_COMPATIBLE_PERSONALITY_P(HEADER) 1
+#endif
+
static _Unwind_Reason_Code
uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
diff --git a/gcc/config/ia64/unwind-ia64.h b/libgcc/config/ia64/unwind-ia64.h
index b98f048fdb5..b98f048fdb5 100644
--- a/gcc/config/ia64/unwind-ia64.h
+++ b/libgcc/config/ia64/unwind-ia64.h
diff --git a/libgcc/config/ia64/vms-unwind.h b/libgcc/config/ia64/vms-unwind.h
index 41c76ae768c..48bdc6884ea 100644
--- a/libgcc/config/ia64/vms-unwind.h
+++ b/libgcc/config/ia64/vms-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for IA64 VMS.
- Copyright (C) 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
This file is part of GCC.
@@ -32,6 +32,9 @@
#include <stdio.h>
#include <string.h>
+#define UNW_IVMS_MODE(HEADER) (((HEADER) >> 44) & 0x3L)
+#define MD_UNW_COMPATIBLE_PERSONALITY_P(HEADER) (!UNW_IVMS_MODE (HEADER))
+
#define DYN$C_SSENTRY 66
/* ??? would rather get the proper header file. */
diff --git a/libgcc/config/picochip/t-picochip b/libgcc/config/picochip/t-picochip
new file mode 100644
index 00000000000..5135d500cbb
--- /dev/null
+++ b/libgcc/config/picochip/t-picochip
@@ -0,0 +1,2 @@
+# Turn off the building of exception handling libraries.
+LIB2ADDEH =
diff --git a/libgcc/config/rs6000/aix-unwind.h b/libgcc/config/rs6000/aix-unwind.h
new file mode 100644
index 00000000000..9e126595edb
--- /dev/null
+++ b/libgcc/config/rs6000/aix-unwind.h
@@ -0,0 +1,57 @@
+/* DWARF2 EH unwinding support for AIX.
+ Copyright (C) 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.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* If the current unwind info (FS) does not contain explicit info
+ saving R2, then we have to do a minor amount of code reading to
+ figure out if it was saved. The big problem here is that the
+ code that does the save/restore is generated by the linker, so
+ we have no good way to determine at compile time what to do. */
+
+#define R_LR 65
+
+#ifdef __64BIT__
+#define MD_FROB_UPDATE_CONTEXT(CTX, FS) \
+ do { \
+ if ((FS)->regs.reg[2].how == REG_UNSAVED) \
+ { \
+ unsigned int *insn \
+ = (unsigned int *) \
+ _Unwind_GetGR ((CTX), R_LR); \
+ if (*insn == 0xE8410028) \
+ _Unwind_SetGRPtr ((CTX), 2, (CTX)->cfa + 40); \
+ } \
+ } while (0)
+#else
+#define MD_FROB_UPDATE_CONTEXT(CTX, FS) \
+ do { \
+ if ((FS)->regs.reg[2].how == REG_UNSAVED) \
+ { \
+ unsigned int *insn \
+ = (unsigned int *) \
+ _Unwind_GetGR ((CTX), R_LR); \
+ if (*insn == 0x80410014) \
+ _Unwind_SetGRPtr ((CTX), 2, (CTX)->cfa + 20); \
+ } \
+ } while (0)
+#endif
diff --git a/gcc/config/rs6000/darwin-fallback.c b/libgcc/config/rs6000/darwin-fallback.c
index 4591071ea74..4591071ea74 100644
--- a/gcc/config/rs6000/darwin-fallback.c
+++ b/libgcc/config/rs6000/darwin-fallback.c
diff --git a/libgcc/config/rs6000/t-darwin b/libgcc/config/rs6000/t-darwin
index 4541e4ed3ed..404df85870f 100644
--- a/libgcc/config/rs6000/t-darwin
+++ b/libgcc/config/rs6000/t-darwin
@@ -3,4 +3,6 @@ DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall -mmacosx-version-min=10.4
crt2.o: $(srcdir)/config/rs6000/darwin-crt2.c
$(crt_compile) $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $<
+LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
+
SHLIB_VERPFX = $(gcc_srcdir)/config/rs6000/darwin-libgcc
diff --git a/libgcc/config/s390/t-tpf b/libgcc/config/s390/t-tpf
index 2110c688d5f..9d416acc12d 100644
--- a/libgcc/config/s390/t-tpf
+++ b/libgcc/config/s390/t-tpf
@@ -1,7 +1,2 @@
# Compile libgcc2.a with pic.
HOST_LIBGCC2_CFLAGS += -fPIC
-
-# Use unwind-dw2-fde-glibc.
-LIB2ADDEH = $(gcc_srcdir)/unwind-dw2.c $(gcc_srcdir)/unwind-dw2-fde-glibc.c \
- $(gcc_srcdir)/unwind-sjlj.c $(gcc_srcdir)/unwind-c.c \
- $(gcc_srcdir)/emutls.c
diff --git a/libgcc/config/t-darwin b/libgcc/config/t-darwin
index 548f0e3d469..311b7e2679f 100644
--- a/libgcc/config/t-darwin
+++ b/libgcc/config/t-darwin
@@ -2,3 +2,7 @@
crt3.o: $(srcdir)/config/darwin-crt3.c
$(crt_compile) \
-fno-tree-dominator-opts $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $<
+
+# Use unwind-dw2-fde-darwin
+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/libgcc/config/t-eh-dw2-dip b/libgcc/config/t-eh-dw2-dip
new file mode 100644
index 00000000000..88fa103c4e7
--- /dev/null
+++ b/libgcc/config/t-eh-dw2-dip
@@ -0,0 +1,3 @@
+# Use unwind-dw2-fde-dip.
+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-dip.c \
+ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/libgcc/config/t-libunwind b/libgcc/config/t-libunwind
new file mode 100644
index 00000000000..1c7a898675f
--- /dev/null
+++ b/libgcc/config/t-libunwind
@@ -0,0 +1,3 @@
+LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
+ $(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c
+LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/t-libunwind-elf b/libgcc/config/t-libunwind-elf
index 5ae0d62de25..47a460bdd0e 100644
--- a/gcc/config/t-libunwind-elf
+++ b/libgcc/config/t-libunwind-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -18,14 +18,18 @@
# Build libunwind for ELF with the GNU linker.
-# Use unwind-dw2-fde-glibc
-LIBUNWIND = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c
-LIBUNWINDDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
+SHLIB_SOLINK = @shlib_base_name@.so
+SHLIB_OBJS = @shlib_objs@
+SHLIB_DIR = @multilib_dir@
+SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
+
+# Use unwind-dw2-fde-dip
+LIBUNWIND = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-dip.c
SHLIBUNWIND_SOVERSION = 7
SHLIBUNWIND_SONAME = @shlib_base_name@.so.$(SHLIBUNWIND_SOVERSION)
-SHLIBUNWIND_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared \
+SHLIBUNWIND_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared \
-nodefaultlibs -Wl,-h,$(SHLIBUNWIND_SONAME) \
-Wl,-z,text -Wl,-z,defs -o $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME).tmp \
@multilib_flags@ $(SHLIB_OBJS) -lc && \
@@ -38,12 +42,10 @@ SHLIBUNWIND_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared \
$(SHLIB_DIR)/$(SHLIBUNWIND_SONAME) && \
$(LN_S) $(SHLIBUNWIND_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
-# $(slibdir) double quoted to protect it from expansion while building
-# libgcc.mk. We want this delayed until actual install time.
SHLIBUNWIND_INSTALL = \
- $$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
$(INSTALL_DATA) $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME) \
- $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIBUNWIND_SONAME); \
- rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
+ $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIBUNWIND_SONAME); \
+ rm -f $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
$(LN_S) $(SHLIBUNWIND_SONAME) \
- $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+ $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
diff --git a/libgcc/config/t-sol2 b/libgcc/config/t-sol2
index e55c64f646d..bfb8f3b5cc2 100644
--- a/libgcc/config/t-sol2
+++ b/libgcc/config/t-sol2
@@ -16,11 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# Use unwind-dw2-fde-glibc.c. Unless linker support and dl_iterate_phdr
-# are present, automatically falls back to unwind-dw2-fde.c.
-LIB2ADDEH = $(gcc_srcdir)/unwind-dw2.c $(gcc_srcdir)/unwind-dw2-fde-glibc.c \
- $(gcc_srcdir)/unwind-sjlj.c $(gcc_srcdir)/unwind-c.c $(gcc_srcdir)/emutls.c
-
# gmon build rule:
gmon.o: $(srcdir)/config/gmon-sol2.c
$(gcc_compile) -c $<
diff --git a/gcc/unwind-dw2-fde-darwin.c b/libgcc/config/unwind-dw2-fde-darwin.c
index 75b404e09e9..75b404e09e9 100644
--- a/gcc/unwind-dw2-fde-darwin.c
+++ b/libgcc/config/unwind-dw2-fde-darwin.c
diff --git a/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa
new file mode 100644
index 00000000000..7d9e9db0487
--- /dev/null
+++ b/libgcc/config/xtensa/t-xtensa
@@ -0,0 +1,2 @@
+LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \
+ $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c
index 54daf7637ce..54daf7637ce 100644
--- a/gcc/config/xtensa/unwind-dw2-xtensa.c
+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c
diff --git a/gcc/config/xtensa/unwind-dw2-xtensa.h b/libgcc/config/xtensa/unwind-dw2-xtensa.h
index d13b3264c99..d13b3264c99 100644
--- a/gcc/config/xtensa/unwind-dw2-xtensa.h
+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.h
diff --git a/libgcc/configure b/libgcc/configure
index 9845eadb65a..60363387312 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -651,6 +651,7 @@ with_slibdir
enable_maintainer_mode
with_build_libsubdir
enable_decimal_float
+with_system_libunwind
enable_tls
'
ac_precious_vars='build_alias
@@ -1295,6 +1296,7 @@ Optional Packages:
--with-ld arrange to use the specified ld (full pathname)
--with-slibdir=DIR shared libraries in DIR LIBDIR
--with-build-libsubdir=DIR Directory where to find libraries for build system
+ --with-system-libunwind use installed libunwind
Some influential environment variables:
CC C compiler command
@@ -3743,6 +3745,46 @@ $as_echo "$libgcc_cv_fixed_point" >&6; }
fixed_point=$libgcc_cv_fixed_point
+# For platforms with the unwind ABI which includes an unwind library,
+# libunwind, we can choose to use the system libunwind.
+# config.gcc also contains tests of with_system_libunwind.
+
+
+# Check whether --with-system-libunwind was given.
+if test "${with_system_libunwind+set}" = set; then :
+ withval=$with_system_libunwind;
+fi
+
+ # If system-libunwind was not specifically set, pick a default setting.
+ if test x$with_system_libunwind = x; then
+ case ${target} in
+ ia64-*-hpux*) with_system_libunwind=yes ;;
+ *) with_system_libunwind=no ;;
+ esac
+ fi
+ # Based on system-libunwind and target, do we have ipinfo?
+ if test x$with_system_libunwind = xyes; then
+ case ${target} in
+ ia64-*-*) have_unwind_getipinfo=no ;;
+ *) have_unwind_getipinfo=yes ;;
+ esac
+ else
+ # Darwin before version 9 does not have _Unwind_GetIPInfo.
+
+ case ${target} in
+ *-*-darwin[3-8]|*-*-darwin[3-8].*) have_unwind_getipinfo=no ;;
+ *) have_unwind_getipinfo=yes ;;
+ esac
+
+ fi
+
+ if test x$have_unwind_getipinfo = xyes; then
+
+$as_echo "#define HAVE_GETIPINFO 1" >>confdefs.h
+
+ fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${acl_cv_prog_gnu_ld+set}" = set; then :
@@ -3962,6 +4004,8 @@ tmake_file="${tmake_file_}"
ac_config_links="$ac_config_links enable-execute-stack.c:$enable_execute_stack"
+ac_config_links="$ac_config_links unwind.h:$unwind_header"
+
ac_config_links="$ac_config_links md-unwind-support.h:config/$md_unwind_header"
@@ -4690,6 +4734,7 @@ for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"enable-execute-stack.c") CONFIG_LINKS="$CONFIG_LINKS enable-execute-stack.c:$enable_execute_stack" ;;
+ "unwind.h") CONFIG_LINKS="$CONFIG_LINKS unwind.h:$unwind_header" ;;
"md-unwind-support.h") CONFIG_LINKS="$CONFIG_LINKS md-unwind-support.h:config/$md_unwind_header" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
diff --git a/libgcc/configure.ac b/libgcc/configure.ac
index 39a2e920ba7..d96bcb4224a 100644
--- a/libgcc/configure.ac
+++ b/libgcc/configure.ac
@@ -7,6 +7,7 @@ sinclude(../config/no-executables.m4)
sinclude(../config/lib-ld.m4)
sinclude(../config/override.m4)
sinclude(../config/dfp.m4)
+sinclude(../config/unwind_ipinfo.m4)
AC_PREREQ(2.64)
AC_INIT([GNU C Runtime Library], 1.0,,[libgcc])
@@ -167,6 +168,11 @@ AC_CACHE_CHECK([whether fixed-point is supported], [libgcc_cv_fixed_point],
fixed_point=$libgcc_cv_fixed_point
AC_SUBST(fixed_point)
+# For platforms with the unwind ABI which includes an unwind library,
+# libunwind, we can choose to use the system libunwind.
+# config.gcc also contains tests of with_system_libunwind.
+GCC_CHECK_UNWIND_GETIPINFO
+
AC_LIB_PROG_LD_GNU
AC_MSG_CHECKING([for thread model used by GCC])
@@ -277,6 +283,7 @@ AC_SUBST(cpu_type)
AC_SUBST(extra_parts)
AC_SUBST(asm_hidden_op)
AC_CONFIG_LINKS([enable-execute-stack.c:$enable_execute_stack])
+AC_CONFIG_LINKS([unwind.h:$unwind_header])
AC_CONFIG_LINKS([md-unwind-support.h:config/$md_unwind_header])
# We need multilib support.
diff --git a/gcc/emutls.c b/libgcc/emutls.c
index b7ee3bdfa7c..b7ee3bdfa7c 100644
--- a/gcc/emutls.c
+++ b/libgcc/emutls.c
diff --git a/gcc/unwind-c.c b/libgcc/unwind-c.c
index 86b9f557048..86b9f557048 100644
--- a/gcc/unwind-c.c
+++ b/libgcc/unwind-c.c
diff --git a/gcc/unwind-compat.c b/libgcc/unwind-compat.c
index 5b41f24688d..5b41f24688d 100644
--- a/gcc/unwind-compat.c
+++ b/libgcc/unwind-compat.c
diff --git a/gcc/unwind-compat.h b/libgcc/unwind-compat.h
index 24c8de11801..24c8de11801 100644
--- a/gcc/unwind-compat.h
+++ b/libgcc/unwind-compat.h
diff --git a/gcc/unwind-dw2-fde-compat.c b/libgcc/unwind-dw2-fde-compat.c
index f305a5501a0..f305a5501a0 100644
--- a/gcc/unwind-dw2-fde-compat.c
+++ b/libgcc/unwind-dw2-fde-compat.c
diff --git a/gcc/unwind-dw2-fde-glibc.c b/libgcc/unwind-dw2-fde-dip.c
index d8e3c0e934b..d8e3c0e934b 100644
--- a/gcc/unwind-dw2-fde-glibc.c
+++ b/libgcc/unwind-dw2-fde-dip.c
diff --git a/gcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c
index 93d427165c4..93d427165c4 100644
--- a/gcc/unwind-dw2-fde.c
+++ b/libgcc/unwind-dw2-fde.c
diff --git a/gcc/unwind-dw2-fde.h b/libgcc/unwind-dw2-fde.h
index 6d7a8dee2cf..6d7a8dee2cf 100644
--- a/gcc/unwind-dw2-fde.h
+++ b/libgcc/unwind-dw2-fde.h
diff --git a/gcc/unwind-dw2.c b/libgcc/unwind-dw2.c
index 19da29982b6..19da29982b6 100644
--- a/gcc/unwind-dw2.c
+++ b/libgcc/unwind-dw2.c
diff --git a/gcc/unwind-dw2.h b/libgcc/unwind-dw2.h
index 2c558b4962a..2c558b4962a 100644
--- a/gcc/unwind-dw2.h
+++ b/libgcc/unwind-dw2.h
diff --git a/gcc/unwind-generic.h b/libgcc/unwind-generic.h
index 4ff9017b88b..4ff9017b88b 100644
--- a/gcc/unwind-generic.h
+++ b/libgcc/unwind-generic.h
diff --git a/gcc/unwind-pe.h b/libgcc/unwind-pe.h
index 121f8776721..121f8776721 100644
--- a/gcc/unwind-pe.h
+++ b/libgcc/unwind-pe.h
diff --git a/gcc/unwind-sjlj.c b/libgcc/unwind-sjlj.c
index c71e79858ee..c71e79858ee 100644
--- a/gcc/unwind-sjlj.c
+++ b/libgcc/unwind-sjlj.c
diff --git a/gcc/unwind.inc b/libgcc/unwind.inc
index 5e2ec29c79a..5e2ec29c79a 100644
--- a/gcc/unwind.inc
+++ b/libgcc/unwind.inc
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index 26a6e78d64f..740e8d257f4 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -38,7 +38,7 @@ ACLOCAL_AMFLAGS = -I ./config -I ../config
AM_CFLAGS = -fexceptions -fplan9-extensions $(SPLIT_STACK) $(WARN_CFLAGS) \
$(STRINGOPS_FLAG) \
- -I $(srcdir)/../gcc -I $(MULTIBUILDTOP)../../gcc/include
+ -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
if USING_SPLIT_STACK
AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 5060d289261..42a160f3cf5 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -495,7 +495,7 @@ AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS)
ACLOCAL_AMFLAGS = -I ./config -I ../config
AM_CFLAGS = -fexceptions -fplan9-extensions $(SPLIT_STACK) $(WARN_CFLAGS) \
$(STRINGOPS_FLAG) \
- -I $(srcdir)/../gcc -I $(MULTIBUILDTOP)../../gcc/include
+ -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
@USING_SPLIT_STACK_TRUE@AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 98b72f501fe..f6bb404978e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (GCC_UNWIND_INCLUDE): Rename to
+ LIBGCC_UNWIND_INCLUDE.
+ Point to $(multi_basedir)/./libjava/../libgcc.
+ * configure: Regenerate.
+ * Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
+ * Makefile.in: Regenerate.
+
2011-07-12 Andrew Haley <aph@redhat.com>
* interpret.cc (check_handler): Fix bit rot.
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 152170862c0..1309defb623 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -342,7 +342,7 @@ LIBLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXX) -L$(here) \
CXXLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LTLDFLAGS) -o $@
-GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+LIBGCC_UNWIND_INCLUDE = @LIBGCC_UNWIND_INCLUDE@
WARNINGS = -Wextra -Wall
## Some systems don't allow `$' in identifiers by default, so we force
@@ -410,7 +410,7 @@ AM_CPPFLAGS = -I$(top_srcdir) \
-Iclasspath/include \
-I$(top_srcdir)/classpath/native/fdlibm \
$(GCINCS) $(THREADINCS) $(INCLTDL) \
- $(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
+ $(LIBGCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
BOOTCLASSPATH = $(srcdir)/classpath/lib
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index 6c966a1efd5..e741f26d06d 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -552,7 +552,6 @@ EXCEPTIONSPEC = @EXCEPTIONSPEC@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GCC_FOR_ECJX = @GCC_FOR_ECJX@
-GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
GCDEPS = @GCDEPS@
GCINCS = @GCINCS@
GCJ = @GCJ@
@@ -600,6 +599,7 @@ LIBART_LIBS = @LIBART_LIBS@
LIBDIR = @LIBDIR@
LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@
+LIBGCC_UNWIND_INCLUDE = @LIBGCC_UNWIND_INCLUDE@
LIBGCJDEBUG = @LIBGCJDEBUG@
LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_BC_SPEC = @LIBGCJ_BC_SPEC@
@@ -1040,7 +1040,7 @@ AM_CPPFLAGS = -I$(top_srcdir) \
-Iclasspath/include \
-I$(top_srcdir)/classpath/native/fdlibm \
$(GCINCS) $(THREADINCS) $(INCLTDL) \
- $(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
+ $(LIBGCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
BOOTCLASSPATH = $(srcdir)/classpath/lib
libgij_la_SOURCES = gij.cc
diff --git a/libjava/configure b/libjava/configure
index 4c3ab55746b..c2779c07c91 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -648,7 +648,7 @@ GCJVERSION
toolexeclibdir
toolexecmainlibdir
toolexecdir
-GCC_UNWIND_INCLUDE
+LIBGCC_UNWIND_INCLUDE
INSTALL_BINARIES_FALSE
INSTALL_BINARIES_TRUE
NEEDS_DATA_START_FALSE
@@ -6781,7 +6781,7 @@ case "${which_gcj}" in
cross)
if test "x${with_newlib}" = "xyes"; then
# FIXME (comment): Why is this needed?
- GCC_UNWIND_INCLUDE=
+ LIBGCC_UNWIND_INCLUDE=
fi
GCJH='$(target_noncanonical)-gcjh'
;;
@@ -20907,8 +20907,8 @@ else
fi
-# We're in the tree with gcc, and need to include some of its headers.
-GCC_UNWIND_INCLUDE='-I$(multi_basedir)/./libjava/../gcc'
+# We're in the tree with libgcc, and need to include some of its headers.
+LIBGCC_UNWIND_INCLUDE='-I$(multi_basedir)/./libjava/../libgcc'
if test "x${with_newlib}" = "xyes"; then
# We are being configured with a cross compiler. AC_REPLACE_FUNCS
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 5f673ea7cfd..92546f72b99 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -469,7 +469,7 @@ case "${which_gcj}" in
cross)
if test "x${with_newlib}" = "xyes"; then
# FIXME (comment): Why is this needed?
- GCC_UNWIND_INCLUDE=
+ LIBGCC_UNWIND_INCLUDE=
fi
GCJH='$(target_noncanonical)-gcjh'
;;
@@ -1204,8 +1204,8 @@ AC_SUBST(HASH_SYNC_SPEC)
AM_CONDITIONAL(USING_GCC, test "$GCC" = yes)
-# We're in the tree with gcc, and need to include some of its headers.
-GCC_UNWIND_INCLUDE='-I$(multi_basedir)/./libjava/../gcc'
+# We're in the tree with libgcc, and need to include some of its headers.
+LIBGCC_UNWIND_INCLUDE='-I$(multi_basedir)/./libjava/../libgcc'
if test "x${with_newlib}" = "xyes"; then
# We are being configured with a cross compiler. AC_REPLACE_FUNCS
@@ -1569,7 +1569,7 @@ AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes)
AM_CONDITIONAL(ENABLE_SHARED, test "$enable_shared" = yes)
AM_CONDITIONAL(NEEDS_DATA_START, test "$NEEDS_DATA_START" = yes && test "$NATIVE" = yes)
AM_CONDITIONAL(INSTALL_BINARIES, test -z "${with_multisubdir}")
-AC_SUBST(GCC_UNWIND_INCLUDE)
+AC_SUBST(LIBGCC_UNWIND_INCLUDE)
# Process the option "--enable-version-specific-runtime-libs"
# Calculate toolexeclibdir
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 45f04859578..61d4ac335d7 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (INCLUDES): Search
+ $(srcdir)/$(MULTISRCTOP)../libgcc.
+
2011-06-08 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/objc.h (__GNU_LIBOBJC__): Bumped to 20110608.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 02443327058..0935ccd98d6 100644
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -101,6 +101,7 @@ OBJC_BOEHM_GC_LIBS=../boehm-gc/libgcjgc_convenience.la $(thread_libs_and_flags)
INCLUDES = -I$(srcdir)/$(MULTISRCTOP)../gcc \
-I$(srcdir)/$(MULTISRCTOP)../gcc/config \
-I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
+ -I$(srcdir)/$(MULTISRCTOP)../libgcc \
-I$(srcdir)/$(MULTISRCTOP)../include \
$(OBJC_BOEHM_GC_INCLUDES)
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5168fa3e38d..a02326c6dbe 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
+ to $(toplevel_srcdir)/libgcc.
+ * configure: Regenerate.
+
2011-08-04 Benjamin Kosnik <bkoz@redhat.com>
* doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 6f6810de235..8bbc40e95f2 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -685,9 +685,9 @@ AC_DEFUN([GLIBCXX_EXPORT_INCLUDES], [
fi
# Stuff in the actual top level. Currently only used by libsupc++ to
- # get unwind* headers from the gcc dir.
- #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include'
- TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc'
+ # get unwind* headers from the libgcc dir.
+ #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc -I$(toplevel_srcdir)/include'
+ TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc'
# Now, export this to all the little Makefiles....
AC_SUBST(GLIBCXX_INCLUDES)
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 0bbc485d300..c7be667dc80 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -65769,9 +65769,9 @@ $as_echo "$gxx_include_dir" >&6; }
fi
# Stuff in the actual top level. Currently only used by libsupc++ to
- # get unwind* headers from the gcc dir.
- #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include'
- TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc'
+ # get unwind* headers from the libgcc dir.
+ #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc -I$(toplevel_srcdir)/include'
+ TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc'
# Now, export this to all the little Makefiles....