[PATCH] Document that -fno-trampolines is for Ada only [PR100735]

Jeff Law jeffreyalaw@gmail.com
Wed Jun 9 16:23:46 GMT 2021



On 5/25/2021 2:23 PM, Paul Eggert wrote:
> The GCC manual's documentation of -fno-trampolines was apparently
> written from an Ada point of view. However, when I read it I
> understandably mistook it to say that -fno-trampolines also works for
> C, C++, etc. It doesn't: it is silently ignored for these languages,
> and I assume for any language other than Ada.
>
> This confusion caused me to go in the wrong direction in a Gnulib
> dicussion, as I mistakenly thought that entire C apps with nested
> functions could be compiled with -fno-trampolines and then use nested
> C functions in stack overflow handlers where the alternate stack
> is allocated via malloc. I was wrong, as this won't work on common
> platforms like x86-64 where malloc yields non-executable storage.
>
> gcc/
> * doc/invoke.texi (Code Gen Options):
> * doc/tm.texi.in (Trampolines):
> Document that -fno-trampolines and -ftrampolines work
> only with Ada.
So Martin Uecker probably has the most state on this.  IIRC when we last 
discussed -fno-trampolines the belief was that it could be easily made 
to work independent of the language, but that it was ultimately an ABI 
change.   That ultimately derailed plans to use -fno-trampolines for 
other languages in the immediate term.

The patch is fine, I just wanted to give you a bit of background on the 
state.   I'll go ahead and commit it for you.

Jeff



More information about the Gcc-patches mailing list