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:
parent
6d0de00581
commit
ce4b2ca6bc
2 changed files with 10 additions and 11 deletions
|
@ -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>
|
2002-05-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* testsuite/lib/libjava.exp (libjava_find_spec): New function.
|
* testsuite/lib/libjava.exp (libjava_find_spec): New function.
|
||||||
|
|
|
@ -243,15 +243,9 @@ while (0)
|
||||||
|
|
||||||
#else /* __ia64__ */
|
#else /* __ia64__ */
|
||||||
|
|
||||||
// FIXME: We shouldn't be using libc_sigaction here, since it should
|
// On IA64, unwind information is mandatory, so we can unwind
|
||||||
// be glibc private. But using syscall here would mean translating to
|
// correctly through glibc frames. Thus we call the ordinary
|
||||||
// the kernel's struct sigaction and argument sequence, which we
|
// sigaction.
|
||||||
// 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 ();
|
|
||||||
|
|
||||||
#define INIT_SEGV \
|
#define INIT_SEGV \
|
||||||
do \
|
do \
|
||||||
|
@ -261,7 +255,7 @@ do \
|
||||||
act.sa_sigaction = _Jv_catch_segv; \
|
act.sa_sigaction = _Jv_catch_segv; \
|
||||||
sigemptyset (&act.sa_mask); \
|
sigemptyset (&act.sa_mask); \
|
||||||
act.sa_flags = SA_SIGINFO; \
|
act.sa_flags = SA_SIGINFO; \
|
||||||
__libc_sigaction (SIGSEGV, &act, NULL); \
|
sigaction (SIGSEGV, &act, NULL); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
|
@ -274,7 +268,7 @@ do \
|
||||||
act.sa_sigaction = _Jv_catch_fpe; \
|
act.sa_sigaction = _Jv_catch_fpe; \
|
||||||
sigemptyset (&act.sa_mask); \
|
sigemptyset (&act.sa_mask); \
|
||||||
act.sa_flags = SA_SIGINFO; \
|
act.sa_flags = SA_SIGINFO; \
|
||||||
__libc_sigaction (SIGFPE, &act, NULL); \
|
sigaction (SIGFPE, &act, NULL); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
#endif /* __ia64__ || __sparc__ */
|
#endif /* __ia64__ || __sparc__ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue