diff --git a/src/backend/linux_raw/arch/powerpc.rs b/src/backend/linux_raw/arch/powerpc.rs index 481b49f46..68ea140a6 100644 --- a/src/backend/linux_raw/arch/powerpc.rs +++ b/src/backend/linux_raw/arch/powerpc.rs @@ -34,6 +34,8 @@ pub(in crate::backend) unsafe fn syscall0_readonly(nr: SyscallNumber<'_>) -> Ret lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -59,6 +61,8 @@ pub(in crate::backend) unsafe fn syscall1(nr: SyscallNumber<'_>, a0: ArgReg<'_, lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -87,6 +91,8 @@ pub(in crate::backend) unsafe fn syscall1_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -127,6 +133,8 @@ pub(in crate::backend) unsafe fn syscall2( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -156,6 +164,8 @@ pub(in crate::backend) unsafe fn syscall2_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -186,6 +196,8 @@ pub(in crate::backend) unsafe fn syscall3( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -216,6 +228,8 @@ pub(in crate::backend) unsafe fn syscall3_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -247,6 +261,8 @@ pub(in crate::backend) unsafe fn syscall4( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -278,6 +294,8 @@ pub(in crate::backend) unsafe fn syscall4_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -310,6 +328,8 @@ pub(in crate::backend) unsafe fn syscall5( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -342,6 +362,8 @@ pub(in crate::backend) unsafe fn syscall5_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -375,6 +397,8 @@ pub(in crate::backend) unsafe fn syscall6( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -408,6 +432,8 @@ pub(in crate::backend) unsafe fn syscall6_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) diff --git a/src/backend/linux_raw/arch/powerpc64.rs b/src/backend/linux_raw/arch/powerpc64.rs index f21ed6aa1..d48501394 100644 --- a/src/backend/linux_raw/arch/powerpc64.rs +++ b/src/backend/linux_raw/arch/powerpc64.rs @@ -34,6 +34,8 @@ pub(in crate::backend) unsafe fn syscall0_readonly(nr: SyscallNumber<'_>) -> Ret lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -59,6 +61,8 @@ pub(in crate::backend) unsafe fn syscall1(nr: SyscallNumber<'_>, a0: ArgReg<'_, lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -87,6 +91,8 @@ pub(in crate::backend) unsafe fn syscall1_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -127,6 +133,8 @@ pub(in crate::backend) unsafe fn syscall2( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -156,6 +164,8 @@ pub(in crate::backend) unsafe fn syscall2_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -186,6 +196,8 @@ pub(in crate::backend) unsafe fn syscall3( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -216,6 +228,8 @@ pub(in crate::backend) unsafe fn syscall3_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -247,6 +261,8 @@ pub(in crate::backend) unsafe fn syscall4( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -278,6 +294,8 @@ pub(in crate::backend) unsafe fn syscall4_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -310,6 +328,8 @@ pub(in crate::backend) unsafe fn syscall5( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -342,6 +362,8 @@ pub(in crate::backend) unsafe fn syscall5_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0) @@ -375,6 +397,8 @@ pub(in crate::backend) unsafe fn syscall6( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags) ); FromAsm::from_asm(r0) @@ -408,6 +432,8 @@ pub(in crate::backend) unsafe fn syscall6_readonly( lateout("r11") _, lateout("r12") _, lateout("cr0") _, + lateout("ctr") _, + lateout("xer") _, options(nostack, preserves_flags, readonly) ); FromAsm::from_asm(r0)