[PATCH] PPC32 struct vrregset_t in ucontext.h is incorrect.

Paul Mackerras paulus@samba.org
Wed Dec 17 21:49:00 GMT 2003


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.



More information about the Libc-alpha mailing list