authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-16 22:35:35+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-17 04:41:26+02:00
log9af8e7c68ebbc83f2d717c2729430cd4727b8dc7
treecde16eeba41aa21aa1792324493fa8c8eedd2f3b
parentd47cc5777d18160e9f213228cb39ad98b0ab6e5b
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

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

This allows ubsan-rt to build.

1 files changed, 29 insertions(+), 3 deletions(-)

lib/std/c.zig+29-3
......@@ -1840,16 +1840,37 @@ pub const REG = switch (native_os) {
18401840 pub const RSP = 20;
18411841 },
18421842 .netbsd => switch (builtin.cpu.arch) {
1843 .aarch64 => struct {
1843 .aarch64, .aarch64_be => struct {
18441844 pub const FP = 29;
18451845 pub const SP = 31;
18461846 pub const PC = 32;
18471847 },
1848 .arm => struct {
1848 .arm, .armeb => struct {
18491849 pub const FP = 11;
18501850 pub const SP = 13;
18511851 pub const PC = 15;
18521852 },
1853 .x86 => struct {
1854 pub const GS = 0;
1855 pub const FS = 1;
1856 pub const ES = 2;
1857 pub const DS = 3;
1858 pub const EDI = 4;
1859 pub const ESI = 5;
1860 pub const EBP = 6;
1861 pub const ESP = 7;
1862 pub const EBX = 8;
1863 pub const EDX = 9;
1864 pub const ECX = 10;
1865 pub const EAX = 11;
1866 pub const TRAPNO = 12;
1867 pub const ERR = 13;
1868 pub const EIP = 14;
1869 pub const CS = 15;
1870 pub const EFL = 16;
1871 pub const UESP = 17;
1872 pub const SS = 18;
1873 },
18531874 .x86_64 => struct {
18541875 pub const RDI = 0;
18551876 pub const RSI = 1;
......@@ -6806,11 +6827,16 @@ pub const mcontext_t = switch (native_os) {
68066827 fpregs: solaris.fpregset_t,
68076828 },
68086829 .netbsd => switch (builtin.cpu.arch) {
6809 .aarch64 => extern struct {
6830 .aarch64, .aarch64_be => extern struct {
68106831 gregs: [35]u64,
68116832 fregs: [528]u8 align(16),
68126833 spare: [8]u64,
68136834 },
6835 .x86 => extern struct {
6836 gregs: [19]u32,
6837 fpregs: [161]u32,
6838 mc_tlsbase: u32,
6839 },
68146840 .x86_64 => extern struct {
68156841 gregs: [26]u64,
68166842 mc_tlsbase: u64,