This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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: MIPS N32 siginfo fix


On Tue, Jun 06, 2006 at 06:56:32PM +0000, Joseph S. Myers wrote:
> The MIPS64 kernel uses the same siginfo structure for N64 and N32 and
> only translates the structure for O32, so glibc should match the
> kernel for N32; that is, the layout should depend on whether or not
> O32, rather than on __WORDSIZE.
> 
> This patch fixes many NPTL cancellation test failures for N32.
> 
> 2006-06-06  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (__SI_PAD_SIZE): Use
> 	smaller value for N32 as well as N64.

Is this right, or is the kernel broken?  I think the kernel is broken.
For instance, si_addr has type "void *" in both the kernel definition
and the glibc definition.  But sizeof(void*) doesn't depend on
_MIPS_SIM != _ABIO32, it depends on __WORDSIZE == 64 (_MIPS_SIM ==
_ABI64).  So on big endian it'll now be in the wrong place.

-- 
Daniel Jacobowitz
CodeSourcery


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