[Bug libgcj/14767] gcjlib under FreeBSD does not forward SIGSEGV to SA_SIGINFO handler

Hans dot Boehm at hp dot com gcc-bugzilla@gcc.gnu.org
Wed Apr 7 20:30:00 GMT 2004


------- Additional Comments From Hans dot Boehm at hp dot com  2004-04-07 20:29 -------
I would generally like to see this go in roughly as is.  Thanks for tracking 
this down.

I think the GC_reset_fault_handler problem is much more serious than the 
remaining one.  You really only need GC_write_fault_handler to pass through 
SIGSEGV if both:

- The collector is running in incremental mode.
- The client has a SIGSEGV handler for other reasons.

I don't think either libgcj or Mono officially support incremental mode.  (This 
has implications on other library code.)

For now, a FIXME comment for the second bug is probably sufficient.  (Of 
course, a proper patch would be gratefully accepted, too.  A general clean-up 
patch for this code wouldn't hurt either :-) )

I have one question about the patch:

For the hunk at line 121, is there really a reason to exclude FREEBSD?  This 
worries me, since the upstream source replaces this test with one for a "UNIX-
LIKE" OS.  Can a plain setjmp be used to jump out of a signal handler on 
FreeBSD? Is sigsetjmp( ..., 1) appreciably slower than plain setjmp?




-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Hans dot Boehm at hp dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14767



More information about the Gcc-bugs mailing list