https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88088
--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- It is good that it doesn't warn if trampolines are not data. This is not documented, fwiw. It also warns if the stack is executable *anyway*, like it is for many targets. This is not useful; as documented, the point of the warning is to warn the user that the stack is made executable because some trampoline somewhere needs it. Not warn the user that there is a trampoline somewhere(*), which would be as useful as warning the user that the program source code is a multiple of six lines long, which is exactly as harmful :-P (*) Which, as you say, is not what it does anyway!