illumos/gcc

Need a way to pacify cross-ISA system calls

Closed this issue · 0 comments

Illumos bug 2757 outlines a problem with 32bit processes making system calls to the 64bit kernel on SPARC. While I'd love to fix this in the OS, and we should fix this in the OS, it turns out that the vast majority of our ioctl entry points are broken (not casting pointers to caddr32_t, or the like), so we'd have to fix all those, or fix every copy* routine to ignore the high 32bits of addresses.

It's easier, and better (short term) to patch the compiler to do what we need and buy ourselves some time. Let's do that.