Re: siginfo_t.si_code macro constants
- From: "Siavosh Benabbas" <sbenabas@xxxxxxxxx>
- Date: Wed, 17 Jan 2007 23:20:42 -0500
Hi,
Thanks.
Are there going to be backported?
--
Siavosh Benabbas
On 1/17/07, David Xu <davidxu@xxxxxxxxxxx> wrote:
_______________________________________________
Siavosh Benabbas wrote:
> Hi,
> I am trying to compile parted on freebsd and I came across this. It
seems
> that many macro constants of POSIX that one should be able to check the
> value of siginfo_t.si_code in a 3 parameter signal handler (set by
> sigaction) are missing. These in particular include SEGV_MAPPER,
> SEGV_ACCERR, and many ILL_* constants the man page of sigaction
mentions:
>
> "The code argument of the BSD-style handler and the si_code member
of
> the
> info argument to a SA_SIGINFO handler contain a numeric code
explaining
> the cause of the signal, usually one of the SI_... values from
> <sys/signal.h> or codes specific to a signal, i.e., one of the
FPE_...
> values for SIGFPE."
>
> But it doesn't specifically list the macro's available. According to the
> POSIX standard there should be some SEGV_* and ILL_* constants too. I
> searched in the archives and it seems that this was pointed out around a
> year ago. The mail in the archive also mentioned that siginfo_t.si_code
> actually gets populated but there is no constant to check this against.
The
> following is from (a distribution of) linux's man page for sigaction
> describing some of the constants available on Linux:
>
> +-------------------------------------+
> | SIGILL |
> +-----------+-------------------------+
> |ILL_ILLOPC | illegal opcode |
> +-----------+-------------------------+
> |ILL_ILLOPN | illegal operand |
> +-----------+-------------------------+
> |ILL_ILLADR | illegal addressing mode |
> +-----------+-------------------------+
> |ILL_ILLTRP | illegal trap |
> +-----------+-------------------------+
> |ILL_PRVOPC | privileged opcode |
> +-----------+-------------------------+
> |ILL_PRVREG | privileged register |
> +-----------+-------------------------+
> |ILL_COPROC | coprocessor error |
> +-----------+-------------------------+
> |ILL_BADSTK | internal stack error |
> +-----------+-------------------------+
> ....
> +----------------------------------------------------+
> | SIGSEGV |
> +------------+---------------------------------------+
> |SEGV_MAPERR | address not mapped to object |
> +------------+---------------------------------------+
> |SEGV_ACCERR | invalid permissions for mapped object |
> +------------+---------------------------------------+
> ....
>
> Unfortunately I lack the expertise to implement any of these but I
> wanted to
> ask if anybody has a similar problem and/or is working on this.
>
> Thanks,
> Siavosh Benabbas
These codes are defined in -HEAD branch, RELENG_6 does not have
them, I had added them when I was implementing signal queue.
Regards,
David Xu
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: siginfo_t.si_code macro constants
- From: David Xu
- Re: siginfo_t.si_code macro constants
- References:
- siginfo_t.si_code macro constants
- From: Siavosh Benabbas
- Re: siginfo_t.si_code macro constants
- From: David Xu
- siginfo_t.si_code macro constants
- Prev by Date: Re: siginfo_t.si_code macro constants
- Next by Date: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- Previous by thread: Re: siginfo_t.si_code macro constants
- Next by thread: Re: siginfo_t.si_code macro constants
- Index(es):
Relevant Pages
|
|