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

Thomas Rodgers rodgert@appliantology.com
Wed Jun 9 18:15:06 GMT 2021


On 2021-06-09 09:23, Jeff Law via Gcc-patches wrote:

> 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

This patch (commit 4a0c4eaea32) is currently breaking the compilation 
with "Verify that you have permission to grant a GFDL license for all". 
It appears that tm.texi and tm.texi.in are out of sync.


More information about the Gcc-patches mailing list