Skip to content

Commit 6b38f54

Browse files
committed
fix arm64 alignment issues in signal()
1 parent 41264cb commit 6b38f54

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/cstd.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,12 +536,12 @@ export fn strerror(errnum: c_int) callconv(.C) [*:0]const u8 {
536536
// --------------------------------------------------------------------------------
537537
const SignalFn = switch (builtin.zig_backend) {
538538
.stage1 => fn(c_int) callconv(.C) void,
539-
else => *const fn(c_int) callconv(.C) void,
539+
else => *align(1) const fn(c_int) callconv(.C) void,
540540
};
541541
export fn signal(sig: c_int, func: SignalFn) callconv(.C) ?SignalFn {
542542
if (builtin.os.tag == .linux) {
543543
var action = std.os.Sigaction{
544-
.handler = .{ .handler = func },
544+
.handler = .{ .handler = @alignCast(@alignOf(fn(c_int) callconv(.C) void), func) },
545545
.mask = std.os.linux.empty_sigset,
546546
.flags = std.os.SA.RESTART,
547547
.restorer = null,

0 commit comments

Comments
 (0)