Commit 9c629d61 by Doug Rupp Committed by Pierre-Marie de Rodat

[Ada] Align stack to 128bits on VxWorks for AArch64

Real board requires fat alignment of stack.

2018-05-22  Doug Rupp  <rupp@adacore.com>

gcc/ada/

	* sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.

From-SVN: r260513
parent 14141ce8
2018-05-22 Doug Rupp <rupp@adacore.com>
* sigtramp-vxworks-target.inc: Align stack to 128bits on AArch64.
2018-05-22 Jerome Lambourg <lambourg@adacore.com> 2018-05-22 Jerome Lambourg <lambourg@adacore.com>
* sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline. * sigtramp-qnx.c: Fix stack alignment issue in the signal trampoline.
......
...@@ -417,17 +417,18 @@ TCR(".cfi_return_column " S(REGNO_PC_OFFSET)) ...@@ -417,17 +417,18 @@ TCR(".cfi_return_column " S(REGNO_PC_OFFSET))
#ifdef __aarch64__ #ifdef __aarch64__
#define SIGTRAMP_BODY \ #define SIGTRAMP_BODY \
CR("") \ CR("") \
TCR("# Push FP and LR on stack") \ TCR("# Allocate the frame (16bytes aligned) and push FP and LR") \
TCR("stp x29, x30, [sp, #-16]!") \ TCR("stp x29, x30, [sp, #-32]!") \
TCR("# Push register used to hold the CFA on stack (pro forma)") \ TCR("add x29, sp, 0") \
TCR("str x" S(CFA_REG) ", [sp, #-8]!") \ TCR("# Store register used to hold the CFA on stack (pro forma)") \
TCR("str x" S(CFA_REG) ", [sp, 16]") \
TCR("# Set the CFA reg from the 5th arg") \ TCR("# Set the CFA reg from the 5th arg") \
TCR("mov x" S(CFA_REG) ", x4") \ TCR("mov x" S(CFA_REG) ", x4") \
TCR("# Call the handler") \ TCR("# Call the handler") \
TCR("blr x3") \ TCR("blr x3") \
TCR("# Release our frame and return (should never get here!).") \ TCR("# Release our frame and return (should never get here!).") \
TCR("ldr x" S(CFA_REG) " , [sp], 8") \ TCR("ldr x" S(CFA_REG) ", [sp, 16]") \
TCR("ldp x29, x30, [sp], 16") \ TCR("ldp x29, x30, [sp], 32") \
TCR("ret") TCR("ret")
#else #else
#define SIGTRAMP_BODY \ #define SIGTRAMP_BODY \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment