aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/link/Elf.zig2
-rw-r--r--src/link/MachO.zig2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index 63381d24a4..bfd472161a 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -2118,7 +2118,7 @@ fn allocateTextBlock(self: *Elf, block_list: *TextBlockList, text_block: *TextBl
const sym = self.local_symbols.items[big_block.local_sym_index];
const capacity = big_block.capacity(self.*);
const ideal_capacity = padToIdeal(capacity);
- const ideal_capacity_end_vaddr = sym.st_value + ideal_capacity;
+ const ideal_capacity_end_vaddr = std.math.add(u64, sym.st_value, ideal_capacity) catch ideal_capacity;
const capacity_end_vaddr = sym.st_value + capacity;
const new_start_vaddr_unaligned = capacity_end_vaddr - new_block_ideal_capacity;
const new_start_vaddr = mem.alignBackwardGeneric(u64, new_start_vaddr_unaligned, alignment);
diff --git a/src/link/MachO.zig b/src/link/MachO.zig
index 23ba1ee4b5..d7385f1f33 100644
--- a/src/link/MachO.zig
+++ b/src/link/MachO.zig
@@ -5064,7 +5064,7 @@ fn allocateAtom(self: *MachO, atom: *Atom, new_atom_size: u64, alignment: u64, m
const sym = self.locals.items[big_atom.local_sym_index];
const capacity = big_atom.capacity(self.*);
const ideal_capacity = if (needs_padding) padToIdeal(capacity) else capacity;
- const ideal_capacity_end_vaddr = sym.n_value + ideal_capacity;
+ const ideal_capacity_end_vaddr = math.add(u64, sym.n_value, ideal_capacity) catch ideal_capacity;
const capacity_end_vaddr = sym.n_value + capacity;
const new_start_vaddr_unaligned = capacity_end_vaddr - new_atom_ideal_capacity;
const new_start_vaddr = mem.alignBackwardGeneric(u64, new_start_vaddr_unaligned, alignment);