On Fri, Jan 20, 2006 at 11:26:00AM +0100, Bastian Blank wrote:
> | The behavior of a process is undefined after it returns normally from a
> | signal-catching function for a SIGBUS, SIGFPE, SIGILL, or SIGSEGV signal 
> that
> | was not generated by kill(),
> <http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html>

The SIGILL signal handler doesn't return, it calls longjmp.  If
you're curious about all this stuff, feel free to ask questions;
I'm quite familiar with these techniques.

Again, please provide a backtrace that is useful.  You can either
get one from a core dump directly, or get one the way I described
by ignoring SIGILLs that have oil_cpu_fault_check_try() in the
backtrace.  Using 'handle SIGLL nostop noprint' might be too
heavy-handed for your preference, please use 'c' to continue after
gdb traps SIGILLs that have oil_cpu_fault_check_try() in the
backtrace.  There *should* be only one (the initial Altivec
check), but occasionally implementations get added (and released)
that don't have OIL_IMPL_FLAG_ALTIVEC set, in which case liboil
will print out an error message and disable the implementation.

You may also wish to compile the source and run 'make check'.



dave...

-- 
David Schleef
Big Kitten LLC (http://www.bigkitten.com/) -- data acquisition on Linux


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to