]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / context / src / asm / jump_x86_64_sysv_elf_gas.S
index d0defc43e832176cc90c58490d50fb4ca547610b..0c4a1a39eb8b04723266dd3842435da62cf33a90 100644 (file)
@@ -67,10 +67,20 @@ jump_fcontext:
     leaq  0x40(%rsp), %rsp /* prepare stack */
 
     /* return transfer_t from jump */
+#if !defined(_ILP32)
     /* RAX == fctx, RDX == data */
     movq  %rsi, %rdx
+#else
+    /* RAX == data:fctx */
+    salq  $32, %rsi
+    orq   %rsi, %rax
+#endif
     /* pass transfer_t as first arg in context function */
+#if !defined(_ILP32)
     /* RDI == fctx, RSI == data */
+#else
+    /* RDI == data:fctx */
+#endif
     movq  %rax, %rdi
 
     /* indirect jump to context */