aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf/Object.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-10-16 19:56:47 +0200
committerJakub Konka <kubkon@jakubkonka.com>2023-10-16 19:56:47 +0200
commitd2727b808cf0876a91b78b3d40a776fc60d2bd58 (patch)
tree5d4d6484072a5f4b02f5d211d1675b274309b64b /src/link/Elf/Object.zig
parente89155b565885d8fb0aca3d9843fba914f43e7d9 (diff)
downloadzig-d2727b808cf0876a91b78b3d40a776fc60d2bd58.tar.gz
zig-d2727b808cf0876a91b78b3d40a776fc60d2bd58.zip
elf: fix 32bit build
Diffstat (limited to 'src/link/Elf/Object.zig')
-rw-r--r--src/link/Elf/Object.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig
index 173934db86..4edc5b62b1 100644
--- a/src/link/Elf/Object.zig
+++ b/src/link/Elf/Object.zig
@@ -592,13 +592,14 @@ pub fn convertCommonSymbols(self: *Object, elf_file: *Elf) !void {
if (is_tls) sh_flags |= elf.SHF_TLS;
const shndx = @as(u16, @intCast(self.shdrs.items.len));
const shdr = try self.shdrs.addOne(gpa);
+ const sh_size = math.cast(usize, this_sym.st_size) orelse return error.Overflow;
shdr.* = .{
.sh_name = try self.strings.insert(gpa, name),
.sh_type = elf.SHT_NOBITS,
.sh_flags = sh_flags,
.sh_addr = 0,
.sh_offset = 0,
- .sh_size = this_sym.st_size,
+ .sh_size = sh_size,
.sh_link = 0,
.sh_info = 0,
.sh_addralign = alignment,