diff options
Diffstat (limited to 'src/lib/syscall.zig')
-rw-r--r-- | src/lib/syscall.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/syscall.zig b/src/lib/syscall.zig index 5ca10cf..6b94e16 100644 --- a/src/lib/syscall.zig +++ b/src/lib/syscall.zig @@ -90,8 +90,9 @@ fn consoleWrite(trap_frame: *const TrapFrame) !usize { fn launch(trap_frame: *const TrapFrame) !usize { const alignment = @alignOf(std.elf.Elf64_Ehdr); const bytes_addr = trap_frame.general_purpose_registers[10]; - const bytes_opt: ?[*]align(alignment) const u8 = @ptrFromInt(bytes_addr); - const bytes_ptr = bytes_opt orelse return Error.ZeroAddressSupplied; + const bytes_opt: ?[*]const u8 = @ptrFromInt(bytes_addr); + const bytes_noalign = bytes_opt orelse return Error.ZeroAddressSupplied; + const bytes_ptr = try std.math.alignCast(alignment, bytes_noalign); const len = trap_frame.general_purpose_registers[11]; const bytes = bytes_ptr[0..len]; |