about summary refs log tree commit diff
path: root/configure.ac
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2014-07-31 13:07:19 -0700
committerRoland McGrath <roland@hack.frob.com>2014-07-31 13:07:19 -0700
commit9fe7e787adc4f41201c441014fbad318eaae6f80 (patch)
tree0bad49b124ab865c1bdfa62a7704de1ee3abcfec /configure.ac
parent23fe486bebc9ce58405853eb70cd87352156c91d (diff)
downloadglibc-9fe7e787adc4f41201c441014fbad318eaae6f80.tar.gz
glibc-9fe7e787adc4f41201c441014fbad318eaae6f80.tar.xz
glibc-9fe7e787adc4f41201c441014fbad318eaae6f80.zip
Use __builtin_trap for ABORT_INSTRUCTION.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac17
1 files changed, 17 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 566ecb276d..e89faa0dfe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1901,6 +1901,23 @@ if test $libc_cv_ehdr_start = yes; then
   AC_DEFINE([HAVE_EHDR_START])
 fi
 
+AC_CACHE_CHECK(for __builtin_trap with no external dependencies,
+	       libc_cv_builtin_trap, [dnl
+libc_cv_builtin_trap=no
+AC_TRY_COMPILE([], [__builtin_trap ()], [
+libc_undefs=`$NM -u conftest.o |
+  LC_ALL=C $AWK '$1 == "U" { print $2 | "sort -u"; next } { exit(1) }' \
+    2>&AS_MESSAGE_LOG_FD` || {
+  AC_MSG_ERROR([confusing output from $NM -u])
+}
+echo >&AS_MESSAGE_LOG_FD "libc_undefs='$libc_undefs'"
+if test -z "$libc_undefs"; then
+  libc_cv_builtin_trap=yes
+fi])])
+if test $libc_cv_builtin_trap = yes; then
+  AC_DEFINE([HAVE_BUILTIN_TRAP])
+fi
+
 ### End of automated tests.
 ### Now run sysdeps configure fragments.