gcc:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Aug 2011 14:37:48 +0000 (14:37 +0000)
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Aug 2011 14:37:48 +0000 (14:37 +0000)
* 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.

gcc/po:
* 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.

libgcc:
* 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.

gcc/ada:
* gcc-interface/Makefile.in (raise-gcc.o): Search
$(srcdir)/../libgcc.

libgo:
* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
* Makefile.in: Regenerate.

libjava:
* 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.

libobjc:
* Makefile.in (INCLUDES): Search
$(srcdir)/$(MULTISRCTOP)../libgcc.

libstdc++-v3:
* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
to $(toplevel_srcdir)/libgcc.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177447 138bc75d-0d04-0410-961f-82ee72b054a4

91 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/aclocal.m4
gcc/ada/ChangeLog
gcc/ada/gcc-interface/Makefile.in
gcc/config.gcc
gcc/config/arm/t-bpabi
gcc/config/arm/t-symbian
gcc/config/frv/t-frv
gcc/config/ia64/t-glibc
gcc/config/ia64/t-hpux
gcc/config/ia64/t-ia64
gcc/config/ia64/t-vms
gcc/config/ia64/vms.h
gcc/config/picochip/t-picochip
gcc/config/rs6000/aix.h
gcc/config/rs6000/t-darwin
gcc/config/sh/t-sh
gcc/config/spu/t-spu-elf
gcc/config/t-darwin
gcc/config/t-freebsd
gcc/config/t-libunwind
gcc/config/t-linux
gcc/config/t-sol2
gcc/config/xtensa/t-xtensa
gcc/configure
gcc/configure.ac
gcc/po/ChangeLog
gcc/po/EXCLUDES
gcc/system.h
libgcc/ChangeLog
libgcc/Makefile.in
libgcc/config.host
libgcc/config/arm/libunwind.S [moved from gcc/config/arm/libunwind.S with 99% similarity]
libgcc/config/arm/pr-support.c [moved from gcc/config/arm/pr-support.c with 100% similarity]
libgcc/config/arm/t-bpabi [new file with mode: 0644]
libgcc/config/arm/t-symbian [new file with mode: 0644]
libgcc/config/arm/unwind-arm.c [moved from gcc/config/arm/unwind-arm.c with 100% similarity]
libgcc/config/arm/unwind-arm.h [moved from gcc/config/arm/unwind-arm.h with 100% similarity]
libgcc/config/ia64/fde-glibc.c [moved from gcc/config/ia64/fde-glibc.c with 100% similarity]
libgcc/config/ia64/fde-vms.c [moved from gcc/config/ia64/fde-vms.c with 98% similarity]
libgcc/config/ia64/t-eh-ia64 [new file with mode: 0644]
libgcc/config/ia64/t-glibc [new file with mode: 0644]
libgcc/config/ia64/t-glibc-libunwind [moved from gcc/config/ia64/t-glibc-libunwind with 83% similarity]
libgcc/config/ia64/t-hpux [new file with mode: 0644]
libgcc/config/ia64/t-vms [new file with mode: 0644]
libgcc/config/ia64/unwind-ia64.c [moved from gcc/config/ia64/unwind-ia64.c with 100% similarity]
libgcc/config/ia64/unwind-ia64.h [moved from gcc/config/ia64/unwind-ia64.h with 100% similarity]
libgcc/config/ia64/vms-unwind.h
libgcc/config/picochip/t-picochip [new file with mode: 0644]
libgcc/config/rs6000/aix-unwind.h [new file with mode: 0644]
libgcc/config/rs6000/darwin-fallback.c [moved from gcc/config/rs6000/darwin-fallback.c with 100% similarity]
libgcc/config/rs6000/t-darwin
libgcc/config/s390/t-tpf
libgcc/config/t-darwin
libgcc/config/t-eh-dw2-dip [new file with mode: 0644]
libgcc/config/t-libunwind [new file with mode: 0644]
libgcc/config/t-libunwind-elf [moved from gcc/config/t-libunwind-elf with 67% similarity]
libgcc/config/t-sol2
libgcc/config/unwind-dw2-fde-darwin.c [moved from gcc/unwind-dw2-fde-darwin.c with 100% similarity]
libgcc/config/xtensa/t-xtensa [new file with mode: 0644]
libgcc/config/xtensa/unwind-dw2-xtensa.c [moved from gcc/config/xtensa/unwind-dw2-xtensa.c with 100% similarity]
libgcc/config/xtensa/unwind-dw2-xtensa.h [moved from gcc/config/xtensa/unwind-dw2-xtensa.h with 100% similarity]
libgcc/configure
libgcc/configure.ac
libgcc/emutls.c [moved from gcc/emutls.c with 100% similarity]
libgcc/unwind-c.c [moved from gcc/unwind-c.c with 100% similarity]
libgcc/unwind-compat.c [moved from gcc/unwind-compat.c with 100% similarity]
libgcc/unwind-compat.h [moved from gcc/unwind-compat.h with 100% similarity]
libgcc/unwind-dw2-fde-compat.c [moved from gcc/unwind-dw2-fde-compat.c with 100% similarity]
libgcc/unwind-dw2-fde-dip.c [moved from gcc/unwind-dw2-fde-glibc.c with 100% similarity]
libgcc/unwind-dw2-fde.c [moved from gcc/unwind-dw2-fde.c with 100% similarity]
libgcc/unwind-dw2-fde.h [moved from gcc/unwind-dw2-fde.h with 100% similarity]
libgcc/unwind-dw2.c [moved from gcc/unwind-dw2.c with 100% similarity]
libgcc/unwind-dw2.h [moved from gcc/unwind-dw2.h with 100% similarity]
libgcc/unwind-generic.h [moved from gcc/unwind-generic.h with 100% similarity]
libgcc/unwind-pe.h [moved from gcc/unwind-pe.h with 100% similarity]
libgcc/unwind-sjlj.c [moved from gcc/unwind-sjlj.c with 100% similarity]
libgcc/unwind.inc [moved from gcc/unwind.inc with 100% similarity]
libgo/Makefile.am
libgo/Makefile.in
libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/configure
libjava/configure.ac
libobjc/ChangeLog
libobjc/Makefile.in
libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/configure

index f269930..438e8bb 100644 (file)
@@ -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.
index 0204f93..889deb1 100644 (file)
@@ -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; \
index 73afd7f..1b90b2f 100644 (file)
@@ -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])
index ce02f4f..743fa0e 100644 (file)
@@ -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
        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,
index 1642cc8..1e7a392 100644 (file)
@@ -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
index 94f15d8..673b768 100644 (file)
@@ -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"
        ;;
index 78812b3..b6b5f40 100644 (file)
@@ -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
 
index 3be83f4..f074591 100644 (file)
@@ -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
 
index 0c58bb1..2729008 100644 (file)
@@ -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)
 
index e6d72b9..ce18a92 100644 (file)
@@ -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
index a97ab5c..4aa6614 100644 (file)
@@ -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.
index 4f013e2..f130f7c 100644 (file)
@@ -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) \
index bcd7534..094d534 100644 (file)
@@ -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
index 847d79a..853e023 100644 (file)
@@ -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.  */
index ba4394e..4df74a0 100644 (file)
@@ -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
 
index 13d317f..2c678a3 100644 (file)
 /* 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
index 8113b9e..27fc07b 100644 (file)
@@ -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
index a897bff..27cbd3d 100644 (file)
@@ -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)
index 5189f28..ab680f5 100644 (file)
@@ -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
index 9e77395..d952bd3 100644 (file)
@@ -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
index af2df24..0680618 100644 (file)
@@ -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
index 6fdaf67..6b8d2dd 100644 (file)
@@ -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
index 039fa27..64d19ca 100644 (file)
@@ -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
index 73fd8eb..f53da4d 100644 (file)
@@ -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
index c3d98ae..641e6fe 100644 (file)
@@ -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) \
index 63e44c5..88bb116 100755 (executable)
@@ -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
index c71281c..81345d6 100644 (file)
@@ -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
 # --------------------------------------------------------
index 1123a00..610ca9b 100644 (file)
@@ -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.
index cc29a2b..12fced1 100644 (file)
@@ -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
index 7ac9859..a7db6f5 100644 (file)
@@ -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
index 322b93e..65d47a8 100644 (file)
@@ -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.
index 5f7cd62..c252d9a 100644 (file)
@@ -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
 
index f7c1b3b..db00c4c 100644 (file)
 #  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*)
similarity index 99%
rename from gcc/config/arm/libunwind.S
rename to libgcc/config/arm/libunwind.S
index 48eb592..a3a19da 100644 (file)
@@ -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/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi
new file mode 100644 (file)
index 0000000..a3b23dc
--- /dev/null
@@ -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 (file)
index 0000000..6788d5f
--- /dev/null
@@ -0,0 +1,2 @@
+# Include the gcc personality routine
+LIB2ADDEH = $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c
similarity index 98%
rename from gcc/config/ia64/fde-vms.c
rename to libgcc/config/ia64/fde-vms.c
index b310f0d..c9ac5d2 100644 (file)
@@ -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 (file)
index 0000000..6aa4bb9
--- /dev/null
@@ -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 (file)
index 0000000..df4fe9c
--- /dev/null
@@ -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
similarity index 83%
rename from gcc/config/ia64/t-glibc-libunwind
rename to libgcc/config/ia64/t-glibc-libunwind
index df78f1d..8b1736a 100644 (file)
@@ -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 (file)
index 0000000..ef3387e
--- /dev/null
@@ -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 (file)
index 0000000..9bc933a
--- /dev/null
@@ -0,0 +1 @@
+LIB2ADDEH += $(srcdir)/config/ia64/fde-vms.c
similarity index 100%
rename from gcc/config/ia64/unwind-ia64.c
rename to libgcc/config/ia64/unwind-ia64.c
index 061bd4b..e9ddfca 100644 (file)
 
 #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
+
 \f
 static _Unwind_Reason_Code
 uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
index 41c76ae..48bdc68 100644 (file)
@@ -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 (file)
index 0000000..5135d50
--- /dev/null
@@ -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 (file)
index 0000000..9e12659
--- /dev/null
@@ -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
index 4541e4e..404df85 100644 (file)
@@ -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
index 2110c68..9d416ac 100644 (file)
@@ -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
index 548f0e3..311b7e2 100644 (file)
@@ -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 (file)
index 0000000..88fa103
--- /dev/null
@@ -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 (file)
index 0000000..1c7a898
--- /dev/null
@@ -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
similarity index 67%
rename from gcc/config/t-libunwind-elf
rename to libgcc/config/t-libunwind-elf
index 5ae0d62..47a460b 100644 (file)
@@ -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.
 #
 
 # 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)
index e55c64f..bfb8f3b 100644 (file)
 # 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/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa
new file mode 100644 (file)
index 0000000..7d9e9db
--- /dev/null
@@ -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
index 9845ead..6036338 100644 (file)
@@ -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" ;;
index 39a2e92..d96bcb4 100644 (file)
@@ -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.
similarity index 100%
rename from gcc/emutls.c
rename to libgcc/emutls.c
similarity index 100%
rename from gcc/unwind-c.c
rename to libgcc/unwind-c.c
similarity index 100%
rename from gcc/unwind-compat.c
rename to libgcc/unwind-compat.c
similarity index 100%
rename from gcc/unwind-compat.h
rename to libgcc/unwind-compat.h
similarity index 100%
rename from gcc/unwind-dw2-fde.c
rename to libgcc/unwind-dw2-fde.c
similarity index 100%
rename from gcc/unwind-dw2-fde.h
rename to libgcc/unwind-dw2-fde.h
similarity index 100%
rename from gcc/unwind-dw2.c
rename to libgcc/unwind-dw2.c
similarity index 100%
rename from gcc/unwind-dw2.h
rename to libgcc/unwind-dw2.h
similarity index 100%
rename from gcc/unwind-generic.h
rename to libgcc/unwind-generic.h
similarity index 100%
rename from gcc/unwind-pe.h
rename to libgcc/unwind-pe.h
similarity index 100%
rename from gcc/unwind-sjlj.c
rename to libgcc/unwind-sjlj.c
similarity index 100%
rename from gcc/unwind.inc
rename to libgcc/unwind.inc
index 26a6e78..740e8d2 100644 (file)
@@ -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)
index 5060d28..42a160f 100644 (file)
@@ -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)
 
index 98b72f5..f6bb404 100644 (file)
@@ -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.
index 1521708..1309def 100644 (file)
@@ -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
 
index 6c966a1..e741f26 100644 (file)
@@ -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
index 4c3ab55..c2779c0 100755 (executable)
@@ -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
index 5f673ea..92546f7 100644 (file)
@@ -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
index 45f0485..61d4ac3 100644 (file)
@@ -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.
index 0244332..0935ccd 100644 (file)
@@ -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)
 
index 5168fa3..a02326c 100644 (file)
@@ -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
index 6f6810d..8bbc40e 100644 (file)
@@ -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)
index 0bbc485..c7be667 100755 (executable)
@@ -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....