From 099bc28867c5014661e26c16d8a5a124d5fc7dc5 Mon Sep 17 00:00:00 2001 From: edef Date: Fri, 8 Nov 2019 01:20:00 +0000 Subject: [PATCH] Ensure arch::imp::StackPointer has defined representation --- src/arch/aarch64.rs | 1 + src/arch/or1k.rs | 1 + src/arch/x86.rs | 1 + src/arch/x86_64.rs | 1 + 4 files changed, 4 insertions(+) diff --git a/src/arch/aarch64.rs b/src/arch/aarch64.rs index 58a4a64..c3547f4 100644 --- a/src/arch/aarch64.rs +++ b/src/arch/aarch64.rs @@ -52,6 +52,7 @@ use stack::Stack; pub const STACK_ALIGNMENT: usize = 16; #[derive(Debug, Clone, Copy)] +#[repr(transparent)] pub struct StackPointer(*mut usize); pub unsafe fn init(stack: &Stack, f: unsafe extern "C" fn(usize, StackPointer) -> !) -> StackPointer { diff --git a/src/arch/or1k.rs b/src/arch/or1k.rs index b74f2b7..bb192da 100644 --- a/src/arch/or1k.rs +++ b/src/arch/or1k.rs @@ -47,6 +47,7 @@ use stack::Stack; pub const STACK_ALIGNMENT: usize = 4; #[derive(Debug, Clone, Copy)] +#[repr(transparent)] pub struct StackPointer(*mut usize); pub unsafe fn init(stack: &Stack, f: unsafe extern "C" fn(usize, StackPointer) -> !) -> StackPointer { diff --git a/src/arch/x86.rs b/src/arch/x86.rs index 1543a03..79b2904 100644 --- a/src/arch/x86.rs +++ b/src/arch/x86.rs @@ -47,6 +47,7 @@ use stack::Stack; pub const STACK_ALIGNMENT: usize = 16; #[derive(Debug, Clone, Copy)] +#[repr(transparent)] pub struct StackPointer(*mut usize); pub unsafe fn init(stack: &Stack, f: unsafe extern "C" fn(usize, StackPointer) -> !) -> StackPointer { diff --git a/src/arch/x86_64.rs b/src/arch/x86_64.rs index 1da7dc2..edd7255 100644 --- a/src/arch/x86_64.rs +++ b/src/arch/x86_64.rs @@ -52,6 +52,7 @@ use stack::Stack; pub const STACK_ALIGNMENT: usize = 16; #[derive(Debug, Clone, Copy)] +#[repr(transparent)] pub struct StackPointer(*mut usize); pub unsafe fn init(stack: &Stack, f: unsafe extern "C" fn(usize, StackPointer) -> !) -> StackPointer {