https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100404
--- Comment #6 from Andreas Schwab <sch...@linux-m68k.org> --- EFAULT is always optional. POSIX is clear about that: [EFAULT] Bad address. The system detected an invalid address in attempting to use an argument of a call. The reliable detection of this error cannot be guaranteed, and when not detected may result in the generation of a signal, indicating an address violation, which is sent to the process.