This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]