This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Divide_1 testsuite fail due to a problem in the unwinding code
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: "Andreas Krebbel" <krebbel at linux dot vnet dot ibm dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 27 Jan 2012 19:07:18 +0100
- Subject: Re: Divide_1 testsuite fail due to a problem in the unwinding code
- References: <20120127164616.GA8167@bart> <201201271808.23832.ebotcazou@adacore.com>
[answering to self...]
> Why does this "hack" not work? It was precisely devised for this purpose.
Probably because you don't set fs->signal_frame in the fallback routine:
/* SIGILL, SIGFPE and SIGTRAP are delivered with psw_addr
after the faulting instruction rather than before it.
Don't set FS->signal_frame in that case. */
if (!signo || (*signo != 4 && *signo != 5 && *signo != 8))
fs->signal_frame = 1;
You might need to un-overload fs->signal_frame then.
--
Eric Botcazou