aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO
diff options
context:
space:
mode:
Diffstat (limited to 'src/link/MachO')
-rw-r--r--src/link/MachO/CodeSignature.zig2
-rw-r--r--src/link/MachO/zld.zig14
2 files changed, 9 insertions, 7 deletions
diff --git a/src/link/MachO/CodeSignature.zig b/src/link/MachO/CodeSignature.zig
index 6d1cd7b536..59b3e50b07 100644
--- a/src/link/MachO/CodeSignature.zig
+++ b/src/link/MachO/CodeSignature.zig
@@ -100,7 +100,7 @@ const CodeDirectory = struct {
fn addSpecialHash(self: *CodeDirectory, index: u32, hash: [hash_size]u8) void {
assert(index > 0);
self.inner.nSpecialSlots = std.math.max(self.inner.nSpecialSlots, index);
- mem.copy(u8, &self.special_slots[index - 1], &hash);
+ self.special_slots[index - 1] = hash;
}
fn slotType(self: CodeDirectory) u32 {
diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig
index ce19626ff4..7e6870ecbc 100644
--- a/src/link/MachO/zld.zig
+++ b/src/link/MachO/zld.zig
@@ -2352,8 +2352,11 @@ pub const Zld = struct {
const buffer = try self.gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
defer self.gpa.free(buffer);
- @memset(buffer, 0);
- mem.copy(u8, buffer, mem.sliceAsBytes(out_dice.items));
+ {
+ const src = mem.sliceAsBytes(out_dice.items);
+ @memcpy(buffer[0..src.len], src);
+ @memset(buffer[src.len..], 0);
+ }
log.debug("writing data-in-code from 0x{x} to 0x{x}", .{ offset, offset + needed_size_aligned });
@@ -2484,8 +2487,8 @@ pub const Zld = struct {
const buffer = try self.gpa.alloc(u8, math.cast(usize, needed_size_aligned) orelse return error.Overflow);
defer self.gpa.free(buffer);
- @memset(buffer, 0);
- mem.copy(u8, buffer, self.strtab.buffer.items);
+ @memcpy(buffer[0..self.strtab.buffer.items.len], self.strtab.buffer.items);
+ @memset(buffer[self.strtab.buffer.items.len..], 0);
try self.file.pwriteAll(buffer, offset);
@@ -2805,8 +2808,7 @@ pub const Zld = struct {
pub fn makeStaticString(bytes: []const u8) [16]u8 {
var buf = [_]u8{0} ** 16;
- assert(bytes.len <= buf.len);
- mem.copy(u8, &buf, bytes);
+ @memcpy(buf[0..bytes.len], bytes);
return buf;
}