x86/call32: reserve space for saving 64-bit sp on 32-bit stack

I prefer this to be done in callee, than in caller for simplicity.

Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
Dmitry Safonov 2016-06-28 22:24:17 +03:00 committed by Andrei Vagin
parent 75281003bd
commit b1cc99844f

View file

@ -34,6 +34,7 @@ call32_from_64:
pushfq
// Switch stacks
sub $8, %rdi
mov %rsp,(%rdi)
mov %rdi,%rsp
@ -53,6 +54,7 @@ call32_from_64:
1:
// Restore the stack
mov (%rsp),%rsp
add $8, %rdi
// Restore registers
popfq