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
signaturebadge-check 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) {...@@ -1840,16 +1840,37 @@ pub const REG = switch (native_os) {
1840 pub const RSP = 20;1840 pub const RSP = 20;
1841 },1841 },
1842 .netbsd => switch (builtin.cpu.arch) {1842 .netbsd => switch (builtin.cpu.arch) {
1843 .aarch64 => struct {1843 .aarch64, .aarch64_be => struct {
1844 pub const FP = 29;1844 pub const FP = 29;
1845 pub const SP = 31;1845 pub const SP = 31;
1846 pub const PC = 32;1846 pub const PC = 32;
1847 },1847 },
1848 .arm => struct {1848 .arm, .armeb => struct {
1849 pub const FP = 11;1849 pub const FP = 11;
1850 pub const SP = 13;1850 pub const SP = 13;
1851 pub const PC = 15;1851 pub const PC = 15;
1852 },1852 },
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 },
1853 .x86_64 => struct {1874 .x86_64 => struct {
1854 pub const RDI = 0;1875 pub const RDI = 0;
1855 pub const RSI = 1;1876 pub const RSI = 1;
...@@ -6806,11 +6827,16 @@ pub const mcontext_t = switch (native_os) {...@@ -6806,11 +6827,16 @@ pub const mcontext_t = switch (native_os) {
6806 fpregs: solaris.fpregset_t,6827 fpregs: solaris.fpregset_t,
6807 },6828 },
6808 .netbsd => switch (builtin.cpu.arch) {6829 .netbsd => switch (builtin.cpu.arch) {
6809 .aarch64 => extern struct {6830 .aarch64, .aarch64_be => extern struct {
6810 gregs: [35]u64,6831 gregs: [35]u64,
6811 fregs: [528]u8 align(16),6832 fregs: [528]u8 align(16),
6812 spare: [8]u64,6833 spare: [8]u64,
6813 },6834 },
6835 .x86 => extern struct {
6836 gregs: [19]u32,
6837 fpregs: [161]u32,
6838 mc_tlsbase: u32,
6839 },
6814 .x86_64 => extern struct {6840 .x86_64 => extern struct {
6815 gregs: [26]u64,6841 gregs: [26]u64,
6816 mc_tlsbase: u64,6842 mc_tlsbase: u64,