https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79421
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-02-09
CC| |ebotcazou at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> What is the purpose of the test case, what does a failure mean and what can
> be done to determine its cause?
The purpose is to check that pointer-to-nested-functions no longer use stack
trampolines in Ada, which then force it to be made executable; the failure
means that they still use it. The cause is a missing definition of:
-- Target Hook: int TARGET_CUSTOM_FUNCTION_DESCRIPTORS
This hook should be defined to a power of 2 if the target will
benefit from the use of custom descriptors for nested functions
instead of the standard trampolines. Such descriptors are created
at run time on the stack and made up of data only, but they are
non-standard so the generated code must be prepared to deal with
them. This hook should be defined to 0 if the target uses
function descriptors for its standard calling sequence, like for
example HP-PA or IA-64. Using descriptors for nested functions
eliminates the need for trampolines that reside on the stack and
require it to be made executable.
The value of the macro is used to parameterize the run-time
identification scheme implemented to distinguish descriptors from
function addresses: it gives the number of bytes by which their
address is misaligned compared with function addresses. The value
of 1 will generally work, unless it is already reserved by the
target for another purpose, like for example on ARM.