From 1a8af993e650c9a9393ce145120ca6d70a701009 Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jeremy@system76.com> Date: Mon, 26 Nov 2018 16:01:20 -0700 Subject: [PATCH] Fix invalid inline ASM --- src/header/signal/linux.rs | 6 ++++-- src/header/signal/redox.rs | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/header/signal/linux.rs b/src/header/signal/linux.rs index a874b265..2d3b71d2 100644 --- a/src/header/signal/linux.rs +++ b/src/header/signal/linux.rs @@ -1,19 +1,21 @@ // Needs to be defined in assembly because it can't have a function prologue +// rax is register, 15 is RT_SIGRETURN #[cfg(target_arch = "x86_64")] global_asm!( " .global __restore_rt __restore_rt: - mov $15, %rax # <- rax is register, 15 is RT_SIGRETURN + mov $15, %rax syscall " ); +// x8 is register, 139 is RT_SIGRETURN #[cfg(target_arch = "aarch64")] global_asm!( " .global __restore_rt __restore_rt: - mov x8, #139 # <- x8 is register, 139 is RT_SIGRETURN + mov x8, #139 svc 0 " ); diff --git a/src/header/signal/redox.rs b/src/header/signal/redox.rs index 9dc41126..331997d1 100644 --- a/src/header/signal/redox.rs +++ b/src/header/signal/redox.rs @@ -1,19 +1,21 @@ // Needs to be defined in assembly because it can't have a function prologue +// rax is register, 119 is SIGRETURN #[cfg(target_arch = "x86_64")] global_asm!( " .global __restore_rt __restore_rt: - mov $119, %rax # <- rax is register, 119 is SIGRETURN + mov $119, %rax int $0x80 " ); +// x8 is register, 119 is SIGRETURN #[cfg(target_arch = "aarch64")] global_asm!( " .global __restore_rt __restore_rt: - mov x8, #119 # <- x8 is register, 119 is SIGRETURN + mov x8, #119 svc 0 " ); -- GitLab