https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116481
--- Comment #4 from Bruno Haible <bruno at clisp dot org> --- (In reply to Andrew Pinski from comment #3) > The error message happens on x86_64 also. Indeed. > Note I think this code is undefined really unless you use the volatile. Why? This code is accessing read-only memory near the address of the 'tramp' function. Why would it need 'volatile' when doing so? (I don't claim that this is portable ISO C code; it's doing a low-level thing. But C is meant to be used for low-level things.)