This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
signal hander patch
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- To: java at gcc dot gnu dot org
- Cc: Andrew Haley <aph at cambridge dot redhat dot com>, Hans Boehm<Hans_Boehm at hp dot com>
- Date: Tue, 26 Mar 2002 23:50:21 +1200
- Subject: signal hander patch
This patch broke NullPointerExceptions on PowerPC:
2002-03-25 Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm
<Hans_Boehm@hp.com>
* configure.in, configure: enable dwarf2-exception-style
exception handling on IA-64.
* include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
(INIT_SEGV, INIT_FPE): Use __libc_sigaction instead of syscall.
Add FIXME comment.
I'm seeing abort in uw_frame_state_for at unwind-dw2.c:889.
I don't agree with this comment/code:
+// 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.
Surely, private glibc details are FAR more likely to be a moving target
than the kernel sigaction syscall stuff. The kernel cannot change this
interface without breaking glibc, so it is never going to change without
a very good reason. On the other hand glibc could change their internal
implementation details at any time.
Further more, is my guess correct that MD_FALLBACK_FRAME_STATE_FOR on
PowerPC is designed to *only* recognise the kernel signal handling frame
and thus is not capable of unwinding an extra glibc frame which was not
compiled with EH info attached?
regards
Bryce.