Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/tests/lib/libc/gen



Le 23/04/12 09:48, Martin Husemann a écrit :
On Sun, Apr 22, 2012 at 08:25:11PM +0000, Christos Zoulas wrote:
There is no portable way to do this; sigbus according to ToG does not
define what si_addr contains.

I read it differently:

The<signal.h>  header shall define the siginfo_t type as a structure,
which shall include at least the following members:

int           si_signo  Signal number.
int           si_code   Signal code.
int           si_errno  If non-zero, an errno value associated with
                         this signal, as described in<errno.h>.
pid_t         si_pid    Sending process ID.
uid_t         si_uid    Real user ID of sending process.
void         *si_addr   Address of faulting instruction.
int           si_status Exit value or signal.
long          si_band   Band event for SIGPOLL.
union sigval  si_value  Signal value.


This is from:

    http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html


I think we should modify the test to use RAS_START() and RAS_END() to verify
the faulting code address and ignore the associated data address.

Careful here; Some Other Operating Systems report data address fault with si_addr + SIGBUS, not instruction fault.

--
jym@


Home | Main Index | Thread Index | Old Index