https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94541
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I don't have a -mx32 capable environment, so can't verify, but mmap/munmap shouldn't be inlined in any way, so can you reproduce if you replace mmap with foo and munmap with bar and define them like: static char c; __attribute__((noipa)) void * foo (void *addr, size_t length, int prot, int flags, int fd, off_t offset) { return (void *) &c; } __attribute__((noipa)) int bar (void *addr, size_t length) { if (addr != (void *) &c) return -1; return 0; } or so? If yes, can you also drop errno from the testcase, and possibly drop unnecessary arguments to foo and/or bar as long as it reproduces? Once minimized that way, please preprocess it.