[Bug ada/83885] FAIL: gnat.dg/trampoline3.adb scan-assembler-not GNU-stack.*x

dave.anglin at bell dot net gcc-bugzilla@gcc.gnu.org
Wed Jan 17 12:56:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83885

--- Comment #2 from dave.anglin at bell dot net ---
On 2018-01-17 3:54 AM, ebotcazou at gcc dot gnu.org wrote:
> IIRC HP-UX uses descriptors for functions so 
> TARGET_CUSTOM_FUNCTION_DESCRIPTORS should be defined to 0. If Linux 
> doesn't, then the macro should be defined to 1. 
That was my understanding from the documentation.  I also read s390 bug 
report on the issue.

32-bit HP-UX and linux are the same.  Usually, a function descriptor is 
used but not always.  In a function
pointer, the second least significant bit is used to determine whether 
the pointer is direct or points to a
function descriptor.  The millicall routine $$dyncall checks this bit in 
an indirect call and takes appropriate
action.  There may also be a variety of stubs in the call path.

As noted, defining to 1 fixes the test failure on linux.  I don't know 
current status on hpux due a poly_int
breakage that's now fixed.


More information about the Gcc-bugs mailing list