commit 9691cded95afa53f17bfc50edc371d4fe673b56a (tree)
parent 1d322fe5102368f80fd4d00dcbbe3dca9e6306f8
Author: David Carlier <devnexen@gmail.com>
Date: Sat, 15 Apr 2023 06:36:28 +0100
std: mcontext layout for x86 and fixing few x86_64 fields types for
FreeBSD
Diffstat:
1 file changed, 37 insertions(+), 5 deletions(-)
diff --git a/lib/std/c/freebsd.zig b/lib/std/c/freebsd.zig
@@ -1391,15 +1391,47 @@ pub const mcontext_t = switch (builtin.cpu.arch) {
rflags: u64,
rsp: u64,
ss: u64,
- len: u64,
- fpformat: u64,
- ownedfp: u64,
- fpstate: [64]u64 align(16),
+ len: c_long,
+ fpformat: c_long,
+ ownedfp: c_long,
+ fpstate: [64]c_long align(16),
fsbase: u64,
gsbase: u64,
xfpustate: u64,
xfpustate_len: u64,
- spare: [4]u64,
+ spare: [4]c_long,
+ },
+ .x86 => extern struct {
+ onstack: u32,
+ gs: u32,
+ fs: u32,
+ es: u32,
+ ds: u32,
+ edi: u32,
+ esi: u32,
+ ebp: u32,
+ isp: u32,
+ ebx: u32,
+ edx: u32,
+ ecx: u32,
+ eax: u32,
+ trapno: u32,
+ err: u32,
+ eip: u32,
+ cs: u32,
+ eflags: u32,
+ esp: u32,
+ ss: u32,
+ len: c_int,
+ fpformat: c_int,
+ ownedfp: c_int,
+ flags: u32,
+ fpstate: [128]c_int align(16),
+ fsbase: u32,
+ gsbase: u32,
+ xpustate: u32,
+ xpustate_len: u32,
+ spare2: [4]c_int,
},
.aarch64 => extern struct {
gpregs: extern struct {