Commit 9af8e7c68e

Alex Rønne Petersen <alex@alexrp.com>
2025-05-16 22:35:35
std.c: Fill out some missing definitions for supported NetBSD libc targets.
This allows ubsan-rt to build.
1 parent d47cc57
Changed files (1)
lib
std
lib/std/c.zig
@@ -1840,16 +1840,37 @@ pub const REG = switch (native_os) {
         pub const RSP = 20;
     },
     .netbsd => switch (builtin.cpu.arch) {
-        .aarch64 => struct {
+        .aarch64, .aarch64_be => struct {
             pub const FP = 29;
             pub const SP = 31;
             pub const PC = 32;
         },
-        .arm => struct {
+        .arm, .armeb => struct {
             pub const FP = 11;
             pub const SP = 13;
             pub const PC = 15;
         },
+        .x86 => struct {
+            pub const GS = 0;
+            pub const FS = 1;
+            pub const ES = 2;
+            pub const DS = 3;
+            pub const EDI = 4;
+            pub const ESI = 5;
+            pub const EBP = 6;
+            pub const ESP = 7;
+            pub const EBX = 8;
+            pub const EDX = 9;
+            pub const ECX = 10;
+            pub const EAX = 11;
+            pub const TRAPNO = 12;
+            pub const ERR = 13;
+            pub const EIP = 14;
+            pub const CS = 15;
+            pub const EFL = 16;
+            pub const UESP = 17;
+            pub const SS = 18;
+        },
         .x86_64 => struct {
             pub const RDI = 0;
             pub const RSI = 1;
@@ -6806,11 +6827,16 @@ pub const mcontext_t = switch (native_os) {
         fpregs: solaris.fpregset_t,
     },
     .netbsd => switch (builtin.cpu.arch) {
-        .aarch64 => extern struct {
+        .aarch64, .aarch64_be => extern struct {
             gregs: [35]u64,
             fregs: [528]u8 align(16),
             spare: [8]u64,
         },
+        .x86 => extern struct {
+            gregs: [19]u32,
+            fpregs: [161]u32,
+            mc_tlsbase: u32,
+        },
         .x86_64 => extern struct {
             gregs: [26]u64,
             mc_tlsbase: u64,