Skip to content
Snippets Groups Projects
Verified Commit 66f1f32a authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Pad RlctAttr for 32-bit systems

parent 64849c7d
No related branches found
No related tags found
No related merge requests found
Pipeline #12160 failed
......@@ -16,7 +16,7 @@ use core::sync::atomic::{AtomicU32 as AtomicUint, AtomicI32 as AtomicInt};
#[repr(C)]
pub union pthread_attr_t {
__relibc_internal_size: [c_uchar; 32],
__relibc_internal_align: c_long,
__relibc_internal_align: size_t,
}
#[repr(C)]
pub union pthread_rwlockattr_t {
......@@ -88,7 +88,7 @@ macro_rules! assert_equal_size(
#[cfg(all(target_os = "redox", feature = "check_against_libc_crate"))]
const _: () = unsafe {
let export = $export { __relibc_internal_align: 0 };
let _: libc::$export = core::mem::transmute(export.__relibc_internal_size);
let _: libc::$export = core::mem::transmute(export.__relibc_internal_size);
let a = [0_u8; core::mem::align_of::<$export>()];
let b: [u8; core::mem::align_of::<libc::$export>()] = core::mem::transmute(a);
......
......@@ -22,7 +22,9 @@ impl Default for RlctAttr {
param: sched_param {
// TODO
sched_priority: 0,
}
},
#[cfg(target_pointer_width = "32")]
_pad: [0; 12],
}
}
}
......
......@@ -24,6 +24,8 @@ pub(crate) struct RlctAttr {
pub stacksize: size_t,
pub stack: size_t,
pub param: sched_param,
#[cfg(target_pointer_width = "32")]
_pad: [u8; 12],
}
pub const PTHREAD_BARRIER_SERIAL_THREAD: c_int = -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment