From e9bcb6585201ab674d90d714295f63b40da41f16 Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Thu, 7 Aug 2014 15:53:21 +0100 Subject: Introduce common/gdb_setjmp.h This commit creates a new file, common/gdb_setjmp.h, to hold some portability macros for setjmp/longjmp et al. that are used by the exceptions subsystem and by the demangler crash catcher. gdb/ChangeLog: * common/gdb_setjmp.h: New file. * Makefile.in (HFILES_NO_SRCDIR): Add common/gdb_setjmp.h. * configure.ac: Move sigsetjmp check... * common/common.m4: ...here. * configure: Regenerate. * cp-support.c (SIGJMP_BUF): Delete. (SIGSETJMP): Likewise. (SIGLONGJMP): Likewise. * exceptions.h (gdb_setjmp.h): Include. (setjmp.h): Do not include. (EXCEPTIONS_SIGJMP_BUF): Delete. (EXCEPTIONS_SIGSETJMP): Likewise. (EXCEPTIONS_SIGLONGJMP): Likewise. Replace all uses of EXCEPTIONS_SIG* macros with SIG* macros from gdb_setjmp.h. * exceptions.c: Likewise. gdb/gdbserver/ChangeLog: * config.in: Regenerate. * configure: Likewise. --- gdb/gdbserver/ChangeLog | 5 +++++ gdb/gdbserver/config.in | 3 +++ gdb/gdbserver/configure | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) (limited to 'gdb/gdbserver') diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 76afb0d..453854e 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,5 +1,10 @@ 2014-08-29 Gary Benson + * config.in: Regenerate. + * configure: Likewise. + +2014-08-29 Gary Benson + * Makefile.in (SFILES): Add common/cleanups.c. (OBS): cleanups.o. (cleanups.o): New rule. diff --git a/gdb/gdbserver/config.in b/gdb/gdbserver/config.in index 216c01d..7828bf9 100644 --- a/gdb/gdbserver/config.in +++ b/gdb/gdbserver/config.in @@ -154,6 +154,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SIGNAL_H +/* Define if sigsetjmp is available. */ +#undef HAVE_SIGSETJMP + /* Define to 1 if you have the `socketpair' function. */ #undef HAVE_SOCKETPAIR diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure index 9c1f9a8..9495905 100755 --- a/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure @@ -5322,6 +5322,39 @@ cat >>confdefs.h <<_ACEOF _ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5 +$as_echo_n "checking for sigsetjmp... " >&6; } +if test "${gdb_cv_func_sigsetjmp+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +int +main () +{ +sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gdb_cv_func_sigsetjmp=yes +else + gdb_cv_func_sigsetjmp=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_func_sigsetjmp" >&5 +$as_echo "$gdb_cv_func_sigsetjmp" >&6; } +if test $gdb_cv_func_sigsetjmp = yes; then + +$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h + +fi + # Check for UST ustlibs="" -- cgit v1.1