From 53c7fb87ab162ed1759566920ce6043ab6b2f9cc Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Sat, 24 Oct 2009 10:58:31 +0000 Subject: libada/ * Makefile.in (GNATLIBCFLAGS_FOR_C): New variable. (LIBADA_FLAGS_TO_PASS): Add GNATLIBCFLAGS_FOR_C. * configure.ac: Include config/unwind_ipinfo.m4. Check for _Unwind_GetIPInfo. * configure: Regenerate. gcc/ada/ * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo. * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO. Pass GNATLIBCFLAGS_FOR_C to recursive invocations. gcc/testsuite/ * gnat.dg/null_pointer_deref1.adb: New test. * gnat.dg/null_pointer_deref2.adb: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153525 138bc75d-0d04-0410-961f-82ee72b054a4 --- libada/ChangeLog | 8 ++++++++ libada/Makefile.in | 3 +++ libada/configure | 46 ++++++++++++++++++++++++++++++++++++++++++++++ libada/configure.ac | 9 +++++++++ 4 files changed, 66 insertions(+) (limited to 'libada') diff --git a/libada/ChangeLog b/libada/ChangeLog index a3add748971..deffec6515f 100644 --- a/libada/ChangeLog +++ b/libada/ChangeLog @@ -1,3 +1,11 @@ +2009-10-24 Eric Botcazou + + * Makefile.in (GNATLIBCFLAGS_FOR_C): New variable. + (LIBADA_FLAGS_TO_PASS): Add GNATLIBCFLAGS_FOR_C. + * configure.ac: Include config/unwind_ipinfo.m4. + Check for _Unwind_GetIPInfo. + * configure: Regenerate. + 2009-08-30 Paolo Bonzini PR ada/41122 diff --git a/libada/Makefile.in b/libada/Makefile.in index eec1649f9e1..01fa8362374 100644 --- a/libada/Makefile.in +++ b/libada/Makefile.in @@ -58,6 +58,8 @@ WARN_CFLAGS = @warn_cflags@ TARGET_LIBGCC2_CFLAGS= GNATLIBCFLAGS= -g -O2 +GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ + -DIN_RTS @have_getipinfo@ # Get target-specific overrides for TARGET_LIBGCC2_CFLAGS. host_subdir = @host_subdir@ @@ -80,6 +82,7 @@ LIBADA_FLAGS_TO_PASS = \ "SHELL=$(SHELL)" \ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ + "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ "TARGET_LIBGCC2_CFLAGS=$(TARGET_LIBGCC2_CFLAGS)" \ "THREAD_KIND=$(THREAD_KIND)" \ "TRACE=$(TRACE)" \ diff --git a/libada/configure b/libada/configure index ce8c0039e35..4137364df21 100755 --- a/libada/configure +++ b/libada/configure @@ -554,6 +554,7 @@ ac_unique_file="Makefile.in" ac_subst_vars='LTLIBOBJS LIBOBJS warn_cflags +have_getipinfo default_gnatlib_target LN_S AWK @@ -631,6 +632,7 @@ with_build_libsubdir enable_maintainer_mode enable_multilib enable_shared +with_system_libunwind ' ac_precious_vars='build_alias host_alias @@ -1258,6 +1260,7 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --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 @@ -2879,6 +2882,49 @@ else fi +# Check for _Unwind_GetIPInfo + + +# 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 + +have_getipinfo= +if test x$have_unwind_getipinfo = xyes; then + have_getipinfo=-DHAVE_GETIPINFO +fi + + warn_cflags= if test "x$GCC" = "xyes"; then warn_cflags='$(GCC_WARN_CFLAGS)' diff --git a/libada/configure.ac b/libada/configure.ac index 2fd8080f23b..3aa8a62a522 100644 --- a/libada/configure.ac +++ b/libada/configure.ac @@ -18,6 +18,7 @@ sinclude(../config/acx.m4) sinclude(../config/multi.m4) sinclude(../config/override.m4) +sinclude(../config/unwind_ipinfo.m4) AC_INIT AC_PREREQ([2.64]) @@ -131,6 +132,14 @@ else fi AC_SUBST([default_gnatlib_target]) +# Check for _Unwind_GetIPInfo +GCC_CHECK_UNWIND_GETIPINFO +have_getipinfo= +if test x$have_unwind_getipinfo = xyes; then + have_getipinfo=-DHAVE_GETIPINFO +fi +AC_SUBST(have_getipinfo) + warn_cflags= if test "x$GCC" = "xyes"; then warn_cflags='$(GCC_WARN_CFLAGS)' -- cgit v1.2.3