https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94541
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|NEW |RESOLVED --- Comment #14 from H.J. Lu <hjl.tools at gmail dot com> --- It is an x32 kernel bug. These system calls: int mprotect(void *addr, size_t len, int prot); void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *addr, size_t length); take both void *, off_t and size_t. They need special conversions since they can't use LP64 nor IA32 versions.