Index: lib/xray/xray_trampoline_AArch64.S =================================================================== --- lib/xray/xray_trampoline_AArch64.S +++ lib/xray/xray_trampoline_AArch64.S @@ -1,3 +1,5 @@ +#include "../builtins/assembly.h" + .text /* The variable containing the handler function pointer */ .global _ZN6__xray19XRayPatchedFunctionE @@ -87,3 +89,5 @@ LDP X3, X4, [SP], #16 LDP X1, X2, [SP], #16 RET + +NO_EXEC_STACK_DIRECTIVE Index: lib/xray/xray_trampoline_arm.S =================================================================== --- lib/xray/xray_trampoline_arm.S +++ lib/xray/xray_trampoline_arm.S @@ -1,3 +1,5 @@ +#include "../builtins/assembly.h" + .syntax unified .arch armv6t2 .fpu vfpv2 @@ -63,3 +65,5 @@ @ Restore the floating-point return value of the instrumented function VPOP {d0} POP {r1-r3,pc} + +NO_EXEC_STACK_DIRECTIVE Index: lib/xray/xray_trampoline_x86_64.S =================================================================== --- lib/xray/xray_trampoline_x86_64.S +++ lib/xray/xray_trampoline_x86_64.S @@ -13,6 +13,8 @@ // //===----------------------------------------------------------------------===// +#include "../builtins/assembly.h" + .macro SAVE_REGISTERS subq $200, %rsp movupd %xmm0, 184(%rsp) @@ -145,3 +147,5 @@ .Ltmp5: .size __xray_FunctionTailExit, .Ltmp5-__xray_FunctionTailExit .cfi_endproc + +NO_EXEC_STACK_DIRECTIVE