Andy Lutomirski dixit: >x32 is not this at all. The kernel ABI part of x32 isn't ILP32. It's >IP32, 32-bit size_t, and *64-bit* long. The core kernel doesn't Yeah, I was looking at this from userspace PoV, as I said I’m not a Linux kernel programmer. In BSD we have register_t which is probably the equivalent to your __kernel_long_t? Maybe removing the “long” from the name helps. But yes, x32 is just a (second to i386) ILP32 userspace API in an amd64 kernel. This does imply mapping on the userspace (x32) to kernel (amd64) boundary and back. I would have thought full struct member mapping, as dalias described, to be the most robust. >something similar to work using the normal x86_64 syscalls. And I'm But those would require the longer structs etc. and therefore lose all the benefits of x32… bye, //mirabilos -- „Cool, /usr/share/doc/mksh/examples/uhr.gz ist ja ein Grund, mksh auf jedem System zu installieren.“ -- XTaran auf der OpenRheinRuhr, ganz begeistert (EN: “[…]uhr.gz is a reason to install mksh on every system.”)