diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-09-04 15:55:38 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2024-09-04 15:55:38 +0200 |
| commit | e1d5bb365b3b8d645fbdfc4ffb6a14ef3bb0e766 (patch) | |
| tree | 87e84657c242c95177218185fe34bb5c6f69f035 | |
| parent | 516955dbdb6cb1a54a00e94dff516d5bfbe6dfc4 (diff) | |
| download | zig-e1d5bb365b3b8d645fbdfc4ffb6a14ef3bb0e766.tar.gz zig-e1d5bb365b3b8d645fbdfc4ffb6a14ef3bb0e766.zip | |
elf: fix 32bit build
| -rw-r--r-- | src/link/Elf/AtomList.zig | 10 | ||||
| -rw-r--r-- | src/link/Elf/eh_frame.zig | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/link/Elf/AtomList.zig b/src/link/Elf/AtomList.zig index 890f1872b5..51407ca6d9 100644 --- a/src/link/Elf/AtomList.zig +++ b/src/link/Elf/AtomList.zig @@ -85,8 +85,9 @@ pub fn write(list: AtomList, buffer: *std.ArrayList(u8), undefs: anytype, elf_fi log.debug("writing atoms in section '{s}'", .{elf_file.getShString(osec.sh_name)}); - try buffer.ensureUnusedCapacity(list.size); - buffer.appendNTimesAssumeCapacity(0, list.size); + const list_size = math.cast(usize, list.size) orelse return error.Overflow; + try buffer.ensureUnusedCapacity(list_size); + buffer.appendNTimesAssumeCapacity(0, list_size); for (list.atoms.items) |ref| { const atom_ptr = elf_file.atom(ref).?; @@ -120,8 +121,9 @@ pub fn writeRelocatable(list: AtomList, buffer: *std.ArrayList(u8), elf_file: *E log.debug("writing atoms in section '{s}'", .{elf_file.getShString(osec.sh_name)}); - try buffer.ensureUnusedCapacity(list.size); - buffer.appendNTimesAssumeCapacity(0, list.size); + const list_size = math.cast(usize, list.size) orelse return error.Overflow; + try buffer.ensureUnusedCapacity(list_size); + buffer.appendNTimesAssumeCapacity(0, list_size); for (list.atoms.items) |ref| { const atom_ptr = elf_file.atom(ref).?; diff --git a/src/link/Elf/eh_frame.zig b/src/link/Elf/eh_frame.zig index a9e3e618cb..b520c94aaf 100644 --- a/src/link/Elf/eh_frame.zig +++ b/src/link/Elf/eh_frame.zig @@ -235,7 +235,7 @@ pub fn calcEhFrameSize(elf_file: *Elf) !usize { var offset: usize = if (elf_file.zigObjectPtr()) |zo| blk: { const sym = zo.symbol(zo.eh_frame_index orelse break :blk 0); - break :blk sym.atom(elf_file).?.size; + break :blk math.cast(usize, sym.atom(elf_file).?.size) orelse return error.Overflow; } else 0; var cies = std.ArrayList(Cie).init(gpa); |
