Skip to content

Commit 51d07d5

Browse files
committed
Auto merge of #2607 - devnexen:user_fpsimd_struct_arm64, r=Amanieu
linux glibc add user_fpsimd_struct struct
2 parents 178efa9 + a00785a commit 51d07d5

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

libc-test/build.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3490,7 +3490,9 @@ fn test_linux(target: &str) {
34903490
&& ((x86_64 || i686 || arm || riscv64) && gnu || x86_64_gnux32)
34913491
) ||
34923492
// the `u` field is in fact an anonymous union
3493-
(gnu && struct_ == "ptrace_syscall_info" && (field == "u" || field == "pad"))
3493+
(gnu && struct_ == "ptrace_syscall_info" && (field == "u" || field == "pad")) ||
3494+
// the vregs field is a `__uint128_t` C's type.
3495+
(struct_ == "user_fpsimd_struct" && field == "vregs")
34943496
});
34953497

34963498
cfg.skip_roundtrip(move |s| match s {

src/unix/linux_like/linux/gnu/b64/aarch64/align.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,12 @@ s! {
2626
// auto-derive traits like Debug
2727
__reserved: [[u64; 32]; 16],
2828
}
29+
30+
#[repr(align(16))]
31+
pub struct user_fpsimd_struct {
32+
pub vregs: [[u64; 2]; 32],
33+
pub fpsr: ::c_uint,
34+
pub fpcr: ::c_uint,
35+
}
36+
2937
}

0 commit comments

Comments
 (0)