authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2019-12-20 13:58:19+01:00
committergravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2020-01-08 20:03:03+01:00
log7fe13f4a86c04c25f95b237452b90e9ab3103d1f
treed7da0013d27008904e6a98de42abab79d85a6e78
parente134e6c994d6ecd76dc6ae1a24b8de29c4147eab

Pointer alignment fixes for the stdlib


2 files changed, 5 insertions(+), 3 deletions(-)

lib/std/debug.zig+2-2
...@@ -1084,7 +1084,7 @@ fn openSelfDebugInfoMacOs(allocator: *mem.Allocator) !DebugInfo {...@@ -1084,7 +1084,7 @@ fn openSelfDebugInfoMacOs(allocator: *mem.Allocator) !DebugInfo {
1084 std.macho.LC_SYMTAB => break @ptrCast(*std.macho.symtab_command, ptr),1084 std.macho.LC_SYMTAB => break @ptrCast(*std.macho.symtab_command, ptr),
1085 else => {},1085 else => {},
1086 }1086 }
1087 ptr += lc.cmdsize; // TODO https://github.com/ziglang/zig/issues/14031087 ptr = @alignCast(@alignOf(std.macho.load_command), ptr + lc.cmdsize);
1088 } else {1088 } else {
1089 return error.MissingDebugInfo;1089 return error.MissingDebugInfo;
1090 };1090 };
...@@ -2129,7 +2129,7 @@ fn getLineNumberInfoMacOs(di: *DebugInfo, symbol: MachoSymbol, target_address: u...@@ -2129,7 +2129,7 @@ fn getLineNumberInfoMacOs(di: *DebugInfo, symbol: MachoSymbol, target_address: u
2129 std.macho.LC_SEGMENT_64 => break @ptrCast(*const std.macho.segment_command_64, @alignCast(@alignOf(std.macho.segment_command_64), ptr)),2129 std.macho.LC_SEGMENT_64 => break @ptrCast(*const std.macho.segment_command_64, @alignCast(@alignOf(std.macho.segment_command_64), ptr)),
2130 else => {},2130 else => {},
2131 }2131 }
2132 ptr += lc.cmdsize; // TODO https://github.com/ziglang/zig/issues/14032132 ptr = @alignCast(@alignOf(std.macho.load_command), ptr + lc.cmdsize);
2133 } else {2133 } else {
2134 return error.MissingDebugInfo;2134 return error.MissingDebugInfo;
2135 };2135 };
lib/std/event/fs.zig+3-1
...@@ -1263,7 +1263,7 @@ pub fn Watch(comptime V: type) type {...@@ -1263,7 +1263,7 @@ pub fn Watch(comptime V: type) type {
1263 var ptr = event_buf[0..].ptr;1263 var ptr = event_buf[0..].ptr;
1264 const end_ptr = ptr + event_buf.len;1264 const end_ptr = ptr + event_buf.len;
1265 var ev: *os.linux.inotify_event = undefined;1265 var ev: *os.linux.inotify_event = undefined;
1266 while (@ptrToInt(ptr) < @ptrToInt(end_ptr)) : (ptr += @sizeOf(os.linux.inotify_event) + ev.len) {1266 while (@ptrToInt(ptr) < @ptrToInt(end_ptr)) {
1267 ev = @ptrCast(*os.linux.inotify_event, ptr);1267 ev = @ptrCast(*os.linux.inotify_event, ptr);
1268 if (ev.mask & os.linux.IN_CLOSE_WRITE == os.linux.IN_CLOSE_WRITE) {1268 if (ev.mask & os.linux.IN_CLOSE_WRITE == os.linux.IN_CLOSE_WRITE) {
1269 const basename_ptr = ptr + @sizeOf(os.linux.inotify_event);1269 const basename_ptr = ptr + @sizeOf(os.linux.inotify_event);
...@@ -1287,6 +1287,8 @@ pub fn Watch(comptime V: type) type {...@@ -1287,6 +1287,8 @@ pub fn Watch(comptime V: type) type {
1287 });1287 });
1288 }1288 }
1289 }1289 }
1290
1291 ptr = @alignCast(@alignOf(os.linux.inotify_event), ptr + @sizeOf(os.linux.inotify_event) + ev.len);
1290 }1292 }
1291 },1293 },
1292 os.linux.EINTR => continue,1294 os.linux.EINTR => continue,