[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-ultrasparc
Subject: Re: Address that caused sigsegv
From: Michiel Boland <boland () diva ! nl>
Date: 1999-04-14 10:13:53
[Download RAW message or body]
> * Is it impossible to get the address that caused the SIGSEGV or does
> new_setup_frame32() write this information to the stack frame?
Judging by the source, it doesn't.
> * Why does tss.new_signal exist, is setup_frame32() obsolete?
No idea why it exists. This is from sys32_sigaction():
if(sig < 0) {
current->tss.new_signal = 1;
sig = -sig;
}
Since you say that new_signal is always nonzero (how do you check that?),
my guess is that there is some hacking going on in libc.
The setup_frame32 function *does* put the faulting address on the stack,
but I guess you will have to hack around libc in order to get it to
work.
This is of course going to be extreeeeeeeemely unportable so I would
advise to just let your app dump core and not install a handler for
SIGSEGV.
Cheers
Michiel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic