lang/zig: unbreak Sigaction.handler_fn on aarch64
$ cat test.zig
const std = @import("std");
const os = std.os;
pub fn main() anyerror!void {
// From https://github.com/riverwm/river/blob/v0.2.2/river/main.zig#L97-L104
const sig_ign = os.Sigaction{
.handler = .{ .handler = os.SIG.IGN },
.mask = os.empty_sigset,
.flags = 0,
};
try os.sigaction(os.SIG.PIPE, &sig_ign, null);}
$ zig build-exe -target aarch64-freebsd test.zig
/usr/local/lib/zig/std/c/freebsd.zig:702:54: error: pointer type '?*const fn(c_int) callconv(.C) void' requires aligned address
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
^referenced by:
main: test.zig:7:40 comptime_0: /usr/local/lib/zig/std/start.zig:59:50 remaining reference traces hidden; use '-freference-trace' to see all reference traces
Reported by: pkg-fallout (x11-wm/river)
Inspired by: Alpine Linux