https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88088
--- Comment #11 from Mark Wielaard <mark at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #10) > As I said, very many targets have no concept of "executable" at all. > Most of the *-elf targets, most (all?) of the *-aout targets. > > Not all of the world is Linux. But generating code on the stack requiring an executable stack is a security issue. If only because by creating executable that need that prevent the target from adopting a non-executable stack. > -Wall is only for *easy to avoid* warnings, which -Wtrampolines very much > is not: > > '-Wall' > This enables all the warnings about constructions that some users > consider questionable, and that are easy to avoid (or modify to > prevent the warning), even in conjunction with macros. I just don't agree I think. This is a warning about a generally frowned upon use of a corner case of a GNU extension. The warning is just about that specific questionable construct (taking a pointer of a nested function and passing it around for use in a way that GCC cannot simply inline its usage) that cause a security issue (generation of on-stack executable code). It would really be helpful if you could point to a concrete example where this specific usage causes a warning with -Wtrampoline which is not correct.