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.

Reply via email to