std.c: Fill out some missing definitions for supported NetBSD libc targets.

This allows ubsan-rt to build.
This commit is contained in:
Alex Rønne Petersen 2025-05-16 22:35:35 +02:00
parent d47cc5777d
commit 9af8e7c68e
No known key found for this signature in database

View File

@ -1840,16 +1840,37 @@ pub const REG = switch (native_os) {
pub const RSP = 20; pub const RSP = 20;
}, },
.netbsd => switch (builtin.cpu.arch) { .netbsd => switch (builtin.cpu.arch) {
.aarch64 => struct { .aarch64, .aarch64_be => struct {
pub const FP = 29; pub const FP = 29;
pub const SP = 31; pub const SP = 31;
pub const PC = 32; pub const PC = 32;
}, },
.arm => struct { .arm, .armeb => struct {
pub const FP = 11; pub const FP = 11;
pub const SP = 13; pub const SP = 13;
pub const PC = 15; 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 { .x86_64 => struct {
pub const RDI = 0; pub const RDI = 0;
pub const RSI = 1; pub const RSI = 1;
@ -6806,11 +6827,16 @@ pub const mcontext_t = switch (native_os) {
fpregs: solaris.fpregset_t, fpregs: solaris.fpregset_t,
}, },
.netbsd => switch (builtin.cpu.arch) { .netbsd => switch (builtin.cpu.arch) {
.aarch64 => extern struct { .aarch64, .aarch64_be => extern struct {
gregs: [35]u64, gregs: [35]u64,
fregs: [528]u8 align(16), fregs: [528]u8 align(16),
spare: [8]u64, spare: [8]u64,
}, },
.x86 => extern struct {
gregs: [19]u32,
fpregs: [161]u32,
mc_tlsbase: u32,
},
.x86_64 => extern struct { .x86_64 => extern struct {
gregs: [26]u64, gregs: [26]u64,
mc_tlsbase: u64, mc_tlsbase: u64,