@@ -1083,16 +1083,18 @@ fn openSelfDebugInfoMacOs(allocator: *mem.Allocator) !DebugInfo {
1083
1083
1084
1084
const hdr_base = @ptrCast ([* ]u8 , hdr );
1085
1085
var ptr = hdr_base + @sizeOf (macho .mach_header_64 );
1086
- var ncmd : u32 = hdr .ncmds ;
1087
- const symtab = while (ncmd != 0 ) : (ncmd -= 1 ) {
1088
- const lc = @ptrCast (* std .macho .load_command , ptr );
1089
- switch (lc .cmd ) {
1090
- std .macho .LC_SYMTAB = > break @ptrCast (* std .macho .symtab_command , ptr ),
1091
- else = > {},
1086
+ const symtab = blk : {
1087
+ var ncmd = hdr .ncmds ;
1088
+ while (ncmd != 0 ) : (ncmd -= 1 ) {
1089
+ const lc = @ptrCast (* std .macho .load_command , ptr );
1090
+ switch (lc .cmd ) {
1091
+ std .macho .LC_SYMTAB = > break :blk @ptrCast (* std .macho .symtab_command , ptr ),
1092
+ else = > {},
1093
+ }
1094
+ ptr += lc .cmdsize ;
1095
+ } else {
1096
+ return error .MissingDebugInfo ;
1092
1097
}
1093
- ptr += lc .cmdsize ; // TODO https://github.com/ziglang/zig/issues/1403
1094
- } else {
1095
- return error .MissingDebugInfo ;
1096
1098
};
1097
1099
const syms = @ptrCast ([* ]macho .nlist_64 , @alignCast (@alignOf (macho .nlist_64 ), hdr_base + symtab .symoff ))[0.. symtab .nsyms ];
1098
1100
const strings = @ptrCast ([* ]u8 , hdr_base + symtab .stroff )[0.. symtab .strsize ];
@@ -2074,16 +2076,18 @@ fn getLineNumberInfoMacOs(di: *DebugInfo, symbol: MachoSymbol, target_address: u
2074
2076
2075
2077
const hdr_base = @ptrCast ([* ]const u8 , hdr );
2076
2078
var ptr = hdr_base + @sizeOf (macho .mach_header_64 );
2077
- var ncmd : u32 = hdr .ncmds ;
2078
- const segcmd = while (ncmd != 0 ) : (ncmd -= 1 ) {
2079
- const lc = @ptrCast (* const std .macho .load_command , ptr );
2080
- switch (lc .cmd ) {
2081
- std .macho .LC_SEGMENT_64 = > break @ptrCast (* const std .macho .segment_command_64 , @alignCast (@alignOf (std .macho .segment_command_64 ), ptr )),
2082
- else = > {},
2079
+ const segcmd = blk : {
2080
+ var ncmd = hdr .ncmds ;
2081
+ while (ncmd != 0 ) : (ncmd -= 1 ) {
2082
+ const lc = @ptrCast (* const std .macho .load_command , ptr );
2083
+ switch (lc .cmd ) {
2084
+ std .macho .LC_SEGMENT_64 = > break :blk @ptrCast (* const std .macho .segment_command_64 , @alignCast (@alignOf (std .macho .segment_command_64 ), ptr )),
2085
+ else = > {},
2086
+ }
2087
+ ptr += lc .cmdsize ;
2088
+ } else {
2089
+ return error .MissingDebugInfo ;
2083
2090
}
2084
- ptr += lc .cmdsize ; // TODO https://github.com/ziglang/zig/issues/1403
2085
- } else {
2086
- return error .MissingDebugInfo ;
2087
2091
};
2088
2092
const sections = @ptrCast ([* ]const macho .section_64 , @alignCast (@alignOf (macho .section_64 ), ptr + @sizeOf (std .macho .segment_command_64 )))[0.. segcmd .nsects ];
2089
2093
for (sections ) | * sect | {
0 commit comments