| ... | @@ -184,10 +184,12 @@ fn lookupModuleDyld(self: *SelfInfo, address: usize) !*Module { | ... | @@ -184,10 +184,12 @@ fn lookupModuleDyld(self: *SelfInfo, address: usize) !*Module { |
| 184 | } | 184 | } |
| 185 | | 185 | |
| 186 | for (cmd.getSections()) |sect| { | 186 | for (cmd.getSections()) |sect| { |
| | 187 | const sect_addr: usize = @intCast(sect.addr); |
| | 188 | const sect_size: usize = @intCast(sect.size); |
| 187 | if (mem.eql(u8, "__unwind_info", sect.sectName())) { | 189 | if (mem.eql(u8, "__unwind_info", sect.sectName())) { |
| 188 | unwind_info = @as([*]const u8, @ptrFromInt(sect.addr + vmaddr_slide))[0..sect.size]; | 190 | unwind_info = @as([*]const u8, @ptrFromInt(sect_addr + vmaddr_slide))[0..sect_size]; |
| 189 | } else if (mem.eql(u8, "__eh_frame", sect.sectName())) { | 191 | } else if (mem.eql(u8, "__eh_frame", sect.sectName())) { |
| 190 | eh_frame = @as([*]const u8, @ptrFromInt(sect.addr + vmaddr_slide))[0..sect.size]; | 192 | eh_frame = @as([*]const u8, @ptrFromInt(sect_addr + vmaddr_slide))[0..sect_size]; |
| 191 | } | 193 | } |
| 192 | } | 194 | } |
| 193 | | 195 | |
| ... | @@ -590,7 +592,7 @@ pub const Module = switch (native_os) { | ... | @@ -590,7 +592,7 @@ pub const Module = switch (native_os) { |
| 590 | const section_bytes = try Dwarf.chopSlice(mapped_mem, sect.offset, sect.size); | 592 | const section_bytes = try Dwarf.chopSlice(mapped_mem, sect.offset, sect.size); |
| 591 | sections[section_index.?] = .{ | 593 | sections[section_index.?] = .{ |
| 592 | .data = section_bytes, | 594 | .data = section_bytes, |
| 593 | .virtual_address = sect.addr, | 595 | .virtual_address = @intCast(sect.addr), |
| 594 | .owned = false, | 596 | .owned = false, |
| 595 | }; | 597 | }; |
| 596 | } | 598 | } |