On 05/17/2012 08:49 PM, Linus Torvalds wrote: > On Thu, May 17, 2012 at 8:39 PM, H.J. Lu <hjl.tools@xxxxxxxxx> wrote: >> >> That will be wrong. __BITS_PER_LONG defines # bits of long >> as seen by kernel. We don't use it in user space. > > Yes you do. Exactly in that structure that Peter points to. *Exactly* > because that structure uses "long" instead of some fixed size. Which > will be different in user mode than in kernel mode. > > And if user mode doesn't use these headers at all, then we should stop > playing the insane games. > User mode can, and should, be able to use the exported headers. David Howells have been doing even more work to distill out the actual exported ABIs from the kernel and remove remaining chaff. That being said it seems kind of loopy to expect something called __BITS_PER_LONG to be anything other than (CHAR_BIT*sizeof(long)), especially since one of the main uses of it seems to be sizing bitvectors (which has its own issues on bigendian machines because I think we do littleendian bit numbering even on bigendian iron). -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html