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.
This commit is contained in:
Gary Benson 2014-08-07 15:53:21 +01:00
parent e31806255f
commit e9bcb65852
12 changed files with 148 additions and 81 deletions

68
gdb/configure vendored
View file

@ -11143,6 +11143,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 <setjmp.h>
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 the return and argument types of ptrace. No canned test for
# this, so roll our own.
@ -11405,41 +11438,6 @@ if test $ac_cv_func_setpgrp_void = yes; then
fi
fi
# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
# since sigsetjmp might only be defined as a macro.
{ $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 <setjmp.h>
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
# Assume we'll default to using the included libiberty regex.
gdb_use_included_regex=yes