diff options
| author | Christoph Cullmann <cullmann@kde.org> | 2016-11-20 13:15:29 +0100 |
|---|---|---|
| committer | Christoph Cullmann <cullmann@kde.org> | 2016-11-20 13:15:29 +0100 |
| commit | 75e0f787c97757a80e1f3dddc8bd16444e56dc08 (patch) | |
| tree | bb66f1b57730a1dc51493d801d6021c0e8eb661a /asmrun | |
| parent | f68ff2e5b0bd1ba3efe37ec336c02226237cc48b (diff) | |
| download | ocaml-75e0f787c97757a80e1f3dddc8bd16444e56dc08.tar.gz | |
PR#7417: ensure stack stays 16 bytes aligned
Diffstat (limited to 'asmrun')
| -rw-r--r-- | asmrun/amd64.S | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/asmrun/amd64.S b/asmrun/amd64.S index 2d77e0f40a..efb8fd9b58 100644 --- a/asmrun/amd64.S +++ b/asmrun/amd64.S @@ -438,12 +438,15 @@ LBL(103): CFI_ADJUST(8) RECORD_STACK_FRAME(8) #ifdef WITH_FRAME_POINTERS - /* Do we need 16-byte alignment here ? */ + /* ensure 16 byte alignment by subq + enter using 16-bytes, PR#7417 */ + subq $8, %rsp; CFI_ADJUST (8) ENTER_FUNCTION #endif call LBL(caml_call_gc) #ifdef WITH_FRAME_POINTERS + /* ensure 16 byte alignment by leave + addq using 16-bytes PR#7417 */ LEAVE_FUNCTION + addq $8, %rsp; CFI_ADJUST (-8) #endif popq %rax; CFI_ADJUST(-8) /* recover desired size */ jmp LBL(caml_allocN) |
