authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-12-27 17:04:57+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-12-27 17:04:57+01:00
logc0c5acf074a9eba01e892184489ac3e837d739bc
tree827ea753638b8765dcb57809725271c0fa622813
parent8d29c84d007849d82268f80c902742a7a19ba400

macho+zld: fix 32bit build


2 files changed, 8 insertions(+), 8 deletions(-)

src/link/MachO.zig+3-3
...@@ -3616,7 +3616,7 @@ fn writeStrtab(self: *MachO) !void {...@@ -3616,7 +3616,7 @@ fn writeStrtab(self: *MachO) !void {
36163616
3617 log.debug("writing string table from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });3617 log.debug("writing string table from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });
36183618
3619 const buffer = try gpa.alloc(u8, needed_size_aligned);3619 const buffer = try gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
3620 defer gpa.free(buffer);3620 defer gpa.free(buffer);
3621 mem.set(u8, buffer, 0);3621 mem.set(u8, buffer, 0);
3622 mem.copy(u8, buffer, self.strtab.buffer.items);3622 mem.copy(u8, buffer, self.strtab.buffer.items);
...@@ -3653,7 +3653,7 @@ fn writeDysymtab(self: *MachO, ctx: SymtabCtx) !void {...@@ -3653,7 +3653,7 @@ fn writeDysymtab(self: *MachO, ctx: SymtabCtx) !void {
36533653
3654 var buf = std.ArrayList(u8).init(gpa);3654 var buf = std.ArrayList(u8).init(gpa);
3655 defer buf.deinit();3655 defer buf.deinit();
3656 try buf.ensureTotalCapacity(needed_size_aligned);3656 try buf.ensureTotalCapacity(math.cast(usize, needed_size_aligned) orelse return error.Overflow);
3657 const writer = buf.writer();3657 const writer = buf.writer();
36583658
3659 if (self.stubs_section_index) |sect_id| {3659 if (self.stubs_section_index) |sect_id| {
...@@ -3692,7 +3692,7 @@ fn writeDysymtab(self: *MachO, ctx: SymtabCtx) !void {...@@ -3692,7 +3692,7 @@ fn writeDysymtab(self: *MachO, ctx: SymtabCtx) !void {
3692 }3692 }
3693 }3693 }
36943694
3695 const padding = needed_size_aligned - needed_size;3695 const padding = math.cast(usize, needed_size_aligned - needed_size) orelse return error.Overflow;
3696 if (padding > 0) {3696 if (padding > 0) {
3697 buf.appendNTimesAssumeCapacity(0, padding);3697 buf.appendNTimesAssumeCapacity(0, padding);
3698 }3698 }
src/link/MachO/zld.zig+5-5
...@@ -2416,7 +2416,7 @@ pub const Zld = struct {...@@ -2416,7 +2416,7 @@ pub const Zld = struct {
2416 assert(mem.isAlignedGeneric(u64, offset, @alignOf(u64)));2416 assert(mem.isAlignedGeneric(u64, offset, @alignOf(u64)));
2417 const needed_size = buffer.items.len;2417 const needed_size = buffer.items.len;
2418 const needed_size_aligned = mem.alignForwardGeneric(u64, needed_size, @alignOf(u64));2418 const needed_size_aligned = mem.alignForwardGeneric(u64, needed_size, @alignOf(u64));
2419 const padding = needed_size_aligned - needed_size;2419 const padding = math.cast(usize, needed_size_aligned - needed_size) orelse return error.Overflow;
2420 if (padding > 0) {2420 if (padding > 0) {
2421 try buffer.ensureUnusedCapacity(padding);2421 try buffer.ensureUnusedCapacity(padding);
2422 buffer.appendNTimesAssumeCapacity(0, padding);2422 buffer.appendNTimesAssumeCapacity(0, padding);
...@@ -2499,7 +2499,7 @@ pub const Zld = struct {...@@ -2499,7 +2499,7 @@ pub const Zld = struct {
2499 const needed_size_aligned = mem.alignForwardGeneric(u64, needed_size, @alignOf(u64));2499 const needed_size_aligned = mem.alignForwardGeneric(u64, needed_size, @alignOf(u64));
2500 seg.filesize = offset + needed_size_aligned - seg.fileoff;2500 seg.filesize = offset + needed_size_aligned - seg.fileoff;
25012501
2502 const buffer = try self.gpa.alloc(u8, needed_size_aligned);2502 const buffer = try self.gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
2503 defer self.gpa.free(buffer);2503 defer self.gpa.free(buffer);
2504 mem.set(u8, buffer, 0);2504 mem.set(u8, buffer, 0);
2505 mem.copy(u8, buffer, mem.sliceAsBytes(out_dice.items));2505 mem.copy(u8, buffer, mem.sliceAsBytes(out_dice.items));
...@@ -2621,7 +2621,7 @@ pub const Zld = struct {...@@ -2621,7 +2621,7 @@ pub const Zld = struct {
26212621
2622 log.debug("writing string table from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });2622 log.debug("writing string table from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });
26232623
2624 const buffer = try self.gpa.alloc(u8, needed_size_aligned);2624 const buffer = try self.gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
2625 defer self.gpa.free(buffer);2625 defer self.gpa.free(buffer);
2626 mem.set(u8, buffer, 0);2626 mem.set(u8, buffer, 0);
2627 mem.copy(u8, buffer, self.strtab.buffer.items);2627 mem.copy(u8, buffer, self.strtab.buffer.items);
...@@ -2658,7 +2658,7 @@ pub const Zld = struct {...@@ -2658,7 +2658,7 @@ pub const Zld = struct {
26582658
2659 var buf = std.ArrayList(u8).init(gpa);2659 var buf = std.ArrayList(u8).init(gpa);
2660 defer buf.deinit();2660 defer buf.deinit();
2661 try buf.ensureTotalCapacityPrecise(needed_size_aligned);2661 try buf.ensureTotalCapacityPrecise(math.cast(usize, needed_size_aligned) orelse return error.Overflow);
2662 const writer = buf.writer();2662 const writer = buf.writer();
26632663
2664 if (self.getSectionByName("__TEXT", "__stubs")) |sect_id| {2664 if (self.getSectionByName("__TEXT", "__stubs")) |sect_id| {
...@@ -2694,7 +2694,7 @@ pub const Zld = struct {...@@ -2694,7 +2694,7 @@ pub const Zld = struct {
2694 }2694 }
2695 }2695 }
26962696
2697 const padding = needed_size_aligned - needed_size;2697 const padding = math.cast(usize, needed_size_aligned - needed_size) orelse return error.Overflow;
2698 if (padding > 0) {2698 if (padding > 0) {
2699 buf.appendNTimesAssumeCapacity(0, padding);2699 buf.appendNTimesAssumeCapacity(0, padding);
2700 }2700 }