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

Jeff Law jeffreyalaw@gmail.com
Wed Jun 9 19:10:31 GMT 2021

On 6/9/2021 12:15 PM, Thomas Rodgers wrote:
> 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.
My fault.  I applied the change to tm.texi by hand and mucked up a 
newline.    HJ fixed it for me, then I mucked up  again, then fixed it 
again...   I'll refrain for complaining about GDFL for everyone's sanity...


More information about the Gcc-patches mailing list