This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [PATCH] PPC32 struct vrregset_t in ucontext.h is incorrect.
- From: Paul Mackerras <paulus at samba dot org>
- To: Ulrich Drepper <drepper at redhat dot com>
- Cc: sjmunroe at vnet dot ibm dot com, libc-alpha at sources dot redhat dot com
- Date: Thu, 18 Dec 2003 08:49:10 +1100
- Subject: Re: [PATCH] PPC32 struct vrregset_t in ucontext.h is incorrect.
- References: <3FE0A17F.2020301@us.ibm.com><3FE0A51E.3040400@redhat.com>
Ulrich Drepper writes:
> Steve Munroe wrote:
> > The struct vrregset_t in ucontext.h does not match the layoyut of VRSAVE
> > and VSCR that is actually stored by the 2.6.0 kernel. Since 2.6.0 is
> > the first kernel to include this state is safe to correct this error
> > without versioning.
>
> What about older kernels?
There hasn't been any change to the layout used by the kernel - the
definition we currently have in glibc is wrong (which is almost
certainly my fault), and Steve's patch is correct. In other words,
all kernels that save altivec state on signal delivery save it, for
32-bit processes, in this format:
struct {
unsigned int vrregs[32][4];
unsigned int vrsave;
unsigned int _pad[2];
unsigned int vscr;
};
Regards,
Paul.