From f02ffb8b4ca760117875f3b5326e9cff6598dde3 Mon Sep 17 00:00:00 2001 From: Pieter Agten Date: Fri, 6 Dec 2019 10:54:53 +0100 Subject: [PATCH] Rewrite %rax register before syscall because it is overwritten by the syscall itself --- src/libstd/sys/sgx/abi/entry.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libstd/sys/sgx/abi/entry.S b/src/libstd/sys/sgx/abi/entry.S index ca2848c61d93..a3e059e81317 100644 --- a/src/libstd/sys/sgx/abi/entry.S +++ b/src/libstd/sys/sgx/abi/entry.S @@ -115,11 +115,11 @@ IMAGE_BASE: .type elf_entry,function elf_entry: /* print error message */ - movq $1,%rax /* write() syscall */ - movq $2,%rdi /* write to stderr (fd 2) */ + movq $2,%rdi /* write to stderr (fd 2) */ lea .Lelf_entry_error_msg(%rip),%rsi movq $.Lelf_entry_error_msg_end-.Lelf_entry_error_msg,%rdx .Lelf_entry_call: + movq $1,%rax /* write() syscall */ syscall test %rax,%rax jle .Lelf_exit /* exit on error */