summaryrefslogtreecommitdiff
path: root/libada
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-24 10:58:31 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-24 10:58:31 +0000
commit53c7fb87ab162ed1759566920ce6043ab6b2f9cc (patch)
treef18809223e14555c22ed59339f3d9e9ea2598d3d /libada
parent8e2510ca1422eab085dbf4bad112b0d8dc6389ec (diff)
downloadgcc-53c7fb87ab162ed1759566920ce6043ab6b2f9cc.tar.gz
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
Diffstat (limited to 'libada')
-rw-r--r--libada/ChangeLog8
-rw-r--r--libada/Makefile.in3
-rwxr-xr-xlibada/configure46
-rw-r--r--libada/configure.ac9
4 files changed, 66 insertions, 0 deletions
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 <ebotcazou@adacore.com>
+
+ * 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 <bonzini@gnu.org>
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)'