Commit 9691cded95

David Carlier <devnexen@gmail.com>
2023-04-15 07:36:28
std: mcontext layout for x86 and fixing few x86_64 fields types for FreeBSD
1 parent 1d322fe
Changed files (1)
lib
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 {