Re: sizeof (siginfo_t) problem

Jakub Jelinek (jakub@redhat.com)
Mon, 14 Jul 2003 14:35:59 -0400


On Mon, Jul 14, 2003 at 08:31:34PM +0200, Ulrich Weigand wrote:
> The MD_FALLBACK_FRAME_STATE_FOR macro does not use sizeof(siginfo_t)
> at all, but hardcodes 128. (This has always been the case, and was
> done to avoid the need to include signal.h.) This is still broken
> with the current kernel behaviour, though.
>
> It is strange that I didn't notice the problem earlier; apparently
> most of the places where unwinding through signal frames is required
> use non-RT frames ...

But it is crucial for NPTL pthread_cancel.

> >This though means that the kernel siginfo_t change cannot be done
> >just in asm-*/siginfo.h headers - at least places where siginfo_t
> >is present within some structures ever visible to userland a dummy
> >8 byte pad needs to be inserted.
>
> As userspace expects a size of 128 bytes, and with the change
> the size now *is* 128 bytes, why would a pad be required?

As I tried to write, we either can have all GCCs
which will work properly only with new kernels (no pad added),
or we can have new GCCs working with all kernels (if pad is added).
Your choice...

Jakub
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/