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.

Reply via email to