dwarf2-signal.h (INIT_SEGV, [...]): use sigaction instead of __libc_sigaction.

* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE for ia64):
	use sigaction instead of __libc_sigaction.

From-SVN: r53074
This commit is contained in:
Hans Boehm 2002-05-03 00:21:48 +00:00 committed by Hans Boehm
parent 6d0de00581
commit ce4b2ca6bc
2 changed files with 10 additions and 11 deletions

View File

@ -1,3 +1,8 @@
2002-05-02 Hans Boehm <Hans_Boehm@hp.com>
* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE for ia64):
use sigaction instead of __libc_sigaction.
2002-05-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* testsuite/lib/libjava.exp (libjava_find_spec): New function.

View File

@ -243,15 +243,9 @@ while (0)
#else /* __ia64__ */
// FIXME: We shouldn't be using libc_sigaction here, since it should
// be glibc private. But using syscall here would mean translating to
// the kernel's struct sigaction and argument sequence, which we
// shouldn't either. The right solution is to call sigaction and to
// make sure that we can unwind correctly through the pthread signal
// wrapper.
extern "C" int __libc_sigaction (int __sig,
__const struct sigaction *__restrict __act,
struct sigaction *__restrict __oact) throw ();
// On IA64, unwind information is mandatory, so we can unwind
// correctly through glibc frames. Thus we call the ordinary
// sigaction.
#define INIT_SEGV \
do \
@ -261,7 +255,7 @@ do \
act.sa_sigaction = _Jv_catch_segv; \
sigemptyset (&act.sa_mask); \
act.sa_flags = SA_SIGINFO; \
__libc_sigaction (SIGSEGV, &act, NULL); \
sigaction (SIGSEGV, &act, NULL); \
} \
while (0)
@ -274,7 +268,7 @@ do \
act.sa_sigaction = _Jv_catch_fpe; \
sigemptyset (&act.sa_mask); \
act.sa_flags = SA_SIGINFO; \
__libc_sigaction (SIGFPE, &act, NULL); \
sigaction (SIGFPE, &act, NULL); \
} \
while (0)
#endif /* __ia64__ || __sparc__ */