mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
macho+zld: fix 32bit build
This commit is contained in:
parent
8d29c84d00
commit
c0c5acf074
@ -3616,7 +3616,7 @@ fn writeStrtab(self: *MachO) !void {
|
||||
|
||||
log.debug("writing string table from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });
|
||||
|
||||
const buffer = try gpa.alloc(u8, needed_size_aligned);
|
||||
const buffer = try gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
|
||||
defer gpa.free(buffer);
|
||||
mem.set(u8, buffer, 0);
|
||||
mem.copy(u8, buffer, self.strtab.buffer.items);
|
||||
@ -3653,7 +3653,7 @@ fn writeDysymtab(self: *MachO, ctx: SymtabCtx) !void {
|
||||
|
||||
var buf = std.ArrayList(u8).init(gpa);
|
||||
defer buf.deinit();
|
||||
try buf.ensureTotalCapacity(needed_size_aligned);
|
||||
try buf.ensureTotalCapacity(math.cast(usize, needed_size_aligned) orelse return error.Overflow);
|
||||
const writer = buf.writer();
|
||||
|
||||
if (self.stubs_section_index) |sect_id| {
|
||||
@ -3692,7 +3692,7 @@ fn writeDysymtab(self: *MachO, ctx: SymtabCtx) !void {
|
||||
}
|
||||
}
|
||||
|
||||
const padding = needed_size_aligned - needed_size;
|
||||
const padding = math.cast(usize, needed_size_aligned - needed_size) orelse return error.Overflow;
|
||||
if (padding > 0) {
|
||||
buf.appendNTimesAssumeCapacity(0, padding);
|
||||
}
|
||||
|
||||
@ -2416,7 +2416,7 @@ pub const Zld = struct {
|
||||
assert(mem.isAlignedGeneric(u64, offset, @alignOf(u64)));
|
||||
const needed_size = buffer.items.len;
|
||||
const needed_size_aligned = mem.alignForwardGeneric(u64, needed_size, @alignOf(u64));
|
||||
const padding = needed_size_aligned - needed_size;
|
||||
const padding = math.cast(usize, needed_size_aligned - needed_size) orelse return error.Overflow;
|
||||
if (padding > 0) {
|
||||
try buffer.ensureUnusedCapacity(padding);
|
||||
buffer.appendNTimesAssumeCapacity(0, padding);
|
||||
@ -2499,7 +2499,7 @@ pub const Zld = struct {
|
||||
const needed_size_aligned = mem.alignForwardGeneric(u64, needed_size, @alignOf(u64));
|
||||
seg.filesize = offset + needed_size_aligned - seg.fileoff;
|
||||
|
||||
const buffer = try self.gpa.alloc(u8, needed_size_aligned);
|
||||
const buffer = try self.gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
|
||||
defer self.gpa.free(buffer);
|
||||
mem.set(u8, buffer, 0);
|
||||
mem.copy(u8, buffer, mem.sliceAsBytes(out_dice.items));
|
||||
@ -2621,7 +2621,7 @@ pub const Zld = struct {
|
||||
|
||||
log.debug("writing string table from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });
|
||||
|
||||
const buffer = try self.gpa.alloc(u8, needed_size_aligned);
|
||||
const buffer = try self.gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
|
||||
defer self.gpa.free(buffer);
|
||||
mem.set(u8, buffer, 0);
|
||||
mem.copy(u8, buffer, self.strtab.buffer.items);
|
||||
@ -2658,7 +2658,7 @@ pub const Zld = struct {
|
||||
|
||||
var buf = std.ArrayList(u8).init(gpa);
|
||||
defer buf.deinit();
|
||||
try buf.ensureTotalCapacityPrecise(needed_size_aligned);
|
||||
try buf.ensureTotalCapacityPrecise(math.cast(usize, needed_size_aligned) orelse return error.Overflow);
|
||||
const writer = buf.writer();
|
||||
|
||||
if (self.getSectionByName("__TEXT", "__stubs")) |sect_id| {
|
||||
@ -2694,7 +2694,7 @@ pub const Zld = struct {
|
||||
}
|
||||
}
|
||||
|
||||
const padding = needed_size_aligned - needed_size;
|
||||
const padding = math.cast(usize, needed_size_aligned - needed_size) orelse return error.Overflow;
|
||||
if (padding > 0) {
|
||||
buf.appendNTimesAssumeCapacity(0, padding);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user