From f19259c85b9fc3678d61f8c0d306dc8513b75a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Thu, 1 Oct 2026 16:04:29 +0200 Subject: [PATCH] std.c: fix Sigaction layout for sparc64-linux-gnu --- lib/std/c.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/std/c.zig b/lib/std/c.zig index 1ce75c984c1ac06382bfe2ec79303d0ec26ae128..c03e83fd65ac14590516f3a16572f2d3cc6a41df 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -3373,6 +3373,19 @@ pub const Sigaction = switch (native_os) { restorer: ?*const fn () callconv(.c) void = null, mask: sigset_t, } else common_linux_Sigaction, + .sparc64 => if (builtin.abi == .gnu) extern struct { + pub const handler_fn = *align(1) const fn (SIG) callconv(.c) void; + pub const sigaction_fn = *const fn (SIG, *const siginfo_t, ?*anyopaque) callconv(.c) void; + + handler: extern union { + handler: ?handler_fn, + sigaction: ?sigaction_fn, + }, + mask: sigset_t, + __glibc_reserved0: c_int = 0, + flags: c_uint, + restorer: ?*const fn () callconv(.c) void = null, + } else common_linux_Sigaction, else => common_linux_Sigaction, }, .emscripten => emscripten.Sigaction, -- 2.54.0