From 9af8e7c68ebbc83f2d717c2729430cd4727b8dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Fri, 16 May 2025 22:35:35 +0200 Subject: [PATCH] std.c: Fill out some missing definitions for supported NetBSD libc targets. This allows ubsan-rt to build. --- lib/std/c.zig | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/lib/std/c.zig b/lib/std/c.zig index 3e1ddacf01..e61c8990c3 100644 --- a/lib/std/c.zig +++ b/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,