From 201cdb743879cbffd38c53d8ebf85fa9fff1e0e4 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Fri, 5 Aug 2011 14:37:48 +0000 Subject: [PATCH] Makefile.in (UNWIND_H): Remove. gcc: * 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. From-SVN: r177447 --- gcc/ChangeLog | 56 ++++++++++++++++ gcc/Makefile.in | 27 +------- gcc/aclocal.m4 | 1 - gcc/ada/ChangeLog | 6 ++ gcc/ada/gcc-interface/Makefile.in | 2 +- gcc/config.gcc | 3 - gcc/config/arm/t-bpabi | 5 -- gcc/config/arm/t-symbian | 4 -- gcc/config/frv/t-frv | 6 +- gcc/config/ia64/t-glibc | 4 -- gcc/config/ia64/t-hpux | 4 +- gcc/config/ia64/t-ia64 | 3 - gcc/config/ia64/t-vms | 2 - gcc/config/ia64/vms.h | 3 - gcc/config/picochip/t-picochip | 3 - gcc/config/rs6000/aix.h | 34 ---------- gcc/config/rs6000/t-darwin | 4 +- gcc/config/sh/t-sh | 4 +- gcc/config/spu/t-spu-elf | 3 - gcc/config/t-darwin | 4 -- gcc/config/t-freebsd | 4 -- gcc/config/t-libunwind | 5 +- gcc/config/t-linux | 4 -- gcc/config/t-sol2 | 5 -- gcc/config/xtensa/t-xtensa | 5 +- gcc/configure | 46 +------------ gcc/configure.ac | 5 -- gcc/po/ChangeLog | 6 ++ gcc/po/EXCLUDES | 9 --- gcc/system.h | 2 +- libgcc/ChangeLog | 65 +++++++++++++++++++ libgcc/Makefile.in | 21 ++++++ libgcc/config.host | 52 +++++++++++++-- {gcc => libgcc}/config/arm/libunwind.S | 4 +- {gcc => libgcc}/config/arm/pr-support.c | 0 libgcc/config/arm/t-bpabi | 3 + libgcc/config/arm/t-symbian | 2 + {gcc => libgcc}/config/arm/unwind-arm.c | 0 {gcc => libgcc}/config/arm/unwind-arm.h | 0 {gcc => libgcc}/config/ia64/fde-glibc.c | 0 {gcc => libgcc}/config/ia64/fde-vms.c | 3 +- libgcc/config/ia64/t-eh-ia64 | 2 + libgcc/config/ia64/t-glibc | 3 + {gcc => libgcc}/config/ia64/t-glibc-libunwind | 1 - libgcc/config/ia64/t-hpux | 1 + libgcc/config/ia64/t-vms | 1 + {gcc => libgcc}/config/ia64/unwind-ia64.c | 14 ++-- {gcc => libgcc}/config/ia64/unwind-ia64.h | 0 libgcc/config/ia64/vms-unwind.h | 5 +- libgcc/config/picochip/t-picochip | 2 + libgcc/config/rs6000/aix-unwind.h | 57 ++++++++++++++++ .../config/rs6000/darwin-fallback.c | 0 libgcc/config/rs6000/t-darwin | 2 + libgcc/config/s390/t-tpf | 5 -- libgcc/config/t-darwin | 4 ++ libgcc/config/t-eh-dw2-dip | 3 + libgcc/config/t-libunwind | 3 + {gcc => libgcc}/config/t-libunwind-elf | 24 +++---- libgcc/config/t-sol2 | 5 -- .../config}/unwind-dw2-fde-darwin.c | 0 libgcc/config/xtensa/t-xtensa | 2 + .../config/xtensa/unwind-dw2-xtensa.c | 0 .../config/xtensa/unwind-dw2-xtensa.h | 0 libgcc/configure | 45 +++++++++++++ libgcc/configure.ac | 7 ++ {gcc => libgcc}/emutls.c | 0 {gcc => libgcc}/unwind-c.c | 0 {gcc => libgcc}/unwind-compat.c | 0 {gcc => libgcc}/unwind-compat.h | 0 {gcc => libgcc}/unwind-dw2-fde-compat.c | 0 .../unwind-dw2-fde-dip.c | 0 {gcc => libgcc}/unwind-dw2-fde.c | 0 {gcc => libgcc}/unwind-dw2-fde.h | 0 {gcc => libgcc}/unwind-dw2.c | 0 {gcc => libgcc}/unwind-dw2.h | 0 {gcc => libgcc}/unwind-generic.h | 0 {gcc => libgcc}/unwind-pe.h | 0 {gcc => libgcc}/unwind-sjlj.c | 0 {gcc => libgcc}/unwind.inc | 0 libgo/Makefile.am | 2 +- libgo/Makefile.in | 2 +- libjava/ChangeLog | 9 +++ libjava/Makefile.am | 4 +- libjava/Makefile.in | 4 +- libjava/configure | 8 +-- libjava/configure.ac | 8 +-- libobjc/ChangeLog | 5 ++ libobjc/Makefile.in | 1 + libstdc++-v3/ChangeLog | 6 ++ libstdc++-v3/acinclude.m4 | 6 +- libstdc++-v3/configure | 6 +- 91 files changed, 421 insertions(+), 245 deletions(-) rename {gcc => libgcc}/config/arm/libunwind.S (99%) rename {gcc => libgcc}/config/arm/pr-support.c (100%) create mode 100644 libgcc/config/arm/t-bpabi create mode 100644 libgcc/config/arm/t-symbian rename {gcc => libgcc}/config/arm/unwind-arm.c (100%) rename {gcc => libgcc}/config/arm/unwind-arm.h (100%) rename {gcc => libgcc}/config/ia64/fde-glibc.c (100%) rename {gcc => libgcc}/config/ia64/fde-vms.c (98%) create mode 100644 libgcc/config/ia64/t-eh-ia64 create mode 100644 libgcc/config/ia64/t-glibc rename {gcc => libgcc}/config/ia64/t-glibc-libunwind (83%) create mode 100644 libgcc/config/ia64/t-hpux create mode 100644 libgcc/config/ia64/t-vms rename {gcc => libgcc}/config/ia64/unwind-ia64.c (100%) rename {gcc => libgcc}/config/ia64/unwind-ia64.h (100%) create mode 100644 libgcc/config/picochip/t-picochip create mode 100644 libgcc/config/rs6000/aix-unwind.h rename {gcc => libgcc}/config/rs6000/darwin-fallback.c (100%) create mode 100644 libgcc/config/t-eh-dw2-dip create mode 100644 libgcc/config/t-libunwind rename {gcc => libgcc}/config/t-libunwind-elf (67%) rename {gcc => libgcc/config}/unwind-dw2-fde-darwin.c (100%) create mode 100644 libgcc/config/xtensa/t-xtensa rename {gcc => libgcc}/config/xtensa/unwind-dw2-xtensa.c (100%) rename {gcc => libgcc}/config/xtensa/unwind-dw2-xtensa.h (100%) rename {gcc => libgcc}/emutls.c (100%) rename {gcc => libgcc}/unwind-c.c (100%) rename {gcc => libgcc}/unwind-compat.c (100%) rename {gcc => libgcc}/unwind-compat.h (100%) rename {gcc => libgcc}/unwind-dw2-fde-compat.c (100%) rename gcc/unwind-dw2-fde-glibc.c => libgcc/unwind-dw2-fde-dip.c (100%) rename {gcc => libgcc}/unwind-dw2-fde.c (100%) rename {gcc => libgcc}/unwind-dw2-fde.h (100%) rename {gcc => libgcc}/unwind-dw2.c (100%) rename {gcc => libgcc}/unwind-dw2.h (100%) rename {gcc => libgcc}/unwind-generic.h (100%) rename {gcc => libgcc}/unwind-pe.h (100%) rename {gcc => libgcc}/unwind-sjlj.c (100%) rename {gcc => libgcc}/unwind.inc (100%) 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 + + * 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 * 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 + + * gcc-interface/Makefile.in (raise-gcc.o): Search + $(srcdir)/../libgcc. + 2011-08-05 Bob Duff * 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 * 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 + + * 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 * 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 + + * 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 * 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 similarity index 99% rename from gcc/config/arm/libunwind.S rename to 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 similarity index 100% rename from gcc/config/arm/pr-support.c rename to 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 similarity index 100% rename from gcc/config/arm/unwind-arm.c rename to libgcc/config/arm/unwind-arm.c diff --git a/gcc/config/arm/unwind-arm.h b/libgcc/config/arm/unwind-arm.h similarity index 100% rename from gcc/config/arm/unwind-arm.h rename to libgcc/config/arm/unwind-arm.h diff --git a/gcc/config/ia64/fde-glibc.c b/libgcc/config/ia64/fde-glibc.c similarity index 100% rename from gcc/config/ia64/fde-glibc.c rename to libgcc/config/ia64/fde-glibc.c diff --git a/gcc/config/ia64/fde-vms.c b/libgcc/config/ia64/fde-vms.c similarity index 98% rename from gcc/config/ia64/fde-vms.c rename to 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 This file is part of GCC. @@ -32,6 +32,7 @@ #include #include #include +#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 similarity index 83% rename from gcc/config/ia64/t-glibc-libunwind rename to 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 similarity index 100% rename from gcc/config/ia64/unwind-ia64.c rename to 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 similarity index 100% rename from gcc/config/ia64/unwind-ia64.h rename to 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 #include +#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 + . */ + +/* 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 similarity index 100% rename from gcc/config/rs6000/darwin-fallback.c rename to 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 similarity index 67% rename from gcc/config/t-libunwind-elf rename to 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 # . -# 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 similarity index 100% rename from gcc/unwind-dw2-fde-darwin.c rename to 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 similarity index 100% rename from gcc/config/xtensa/unwind-dw2-xtensa.c rename to 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 similarity index 100% rename from gcc/config/xtensa/unwind-dw2-xtensa.h rename to 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 similarity index 100% rename from gcc/emutls.c rename to libgcc/emutls.c diff --git a/gcc/unwind-c.c b/libgcc/unwind-c.c similarity index 100% rename from gcc/unwind-c.c rename to libgcc/unwind-c.c diff --git a/gcc/unwind-compat.c b/libgcc/unwind-compat.c similarity index 100% rename from gcc/unwind-compat.c rename to libgcc/unwind-compat.c diff --git a/gcc/unwind-compat.h b/libgcc/unwind-compat.h similarity index 100% rename from gcc/unwind-compat.h rename to libgcc/unwind-compat.h diff --git a/gcc/unwind-dw2-fde-compat.c b/libgcc/unwind-dw2-fde-compat.c similarity index 100% rename from gcc/unwind-dw2-fde-compat.c rename to libgcc/unwind-dw2-fde-compat.c diff --git a/gcc/unwind-dw2-fde-glibc.c b/libgcc/unwind-dw2-fde-dip.c similarity index 100% rename from gcc/unwind-dw2-fde-glibc.c rename to libgcc/unwind-dw2-fde-dip.c diff --git a/gcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c similarity index 100% rename from gcc/unwind-dw2-fde.c rename to libgcc/unwind-dw2-fde.c diff --git a/gcc/unwind-dw2-fde.h b/libgcc/unwind-dw2-fde.h similarity index 100% rename from gcc/unwind-dw2-fde.h rename to libgcc/unwind-dw2-fde.h diff --git a/gcc/unwind-dw2.c b/libgcc/unwind-dw2.c similarity index 100% rename from gcc/unwind-dw2.c rename to libgcc/unwind-dw2.c diff --git a/gcc/unwind-dw2.h b/libgcc/unwind-dw2.h similarity index 100% rename from gcc/unwind-dw2.h rename to libgcc/unwind-dw2.h diff --git a/gcc/unwind-generic.h b/libgcc/unwind-generic.h similarity index 100% rename from gcc/unwind-generic.h rename to libgcc/unwind-generic.h diff --git a/gcc/unwind-pe.h b/libgcc/unwind-pe.h similarity index 100% rename from gcc/unwind-pe.h rename to libgcc/unwind-pe.h diff --git a/gcc/unwind-sjlj.c b/libgcc/unwind-sjlj.c similarity index 100% rename from gcc/unwind-sjlj.c rename to libgcc/unwind-sjlj.c diff --git a/gcc/unwind.inc b/libgcc/unwind.inc similarity index 100% rename from gcc/unwind.inc rename to 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 + + * 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 * 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 + + * Makefile.in (INCLUDES): Search + $(srcdir)/$(MULTISRCTOP)../libgcc. + 2011-06-08 Nicola Pero * 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 + + * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES + to $(toplevel_srcdir)/libgcc. + * configure: Regenerate. + 2011-08-04 Benjamin Kosnik * 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.... -- 2.30.2