aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-11-02 19:33:10 +0100
committerJakub Konka <kubkon@jakubkonka.com>2023-11-04 09:12:07 +0100
commit3b9455f0052d4ae648e8eec9685455eb501abcfd (patch)
tree793590c4bee2b58126f28c9f397085d44056c638 /src/link/Elf
parenteddf9cc65b0abe8a8cdf8c80d8cd97e56e860515 (diff)
downloadzig-3b9455f0052d4ae648e8eec9685455eb501abcfd.tar.gz
zig-3b9455f0052d4ae648e8eec9685455eb501abcfd.zip
elf: generate pretty rudimentary archive
Diffstat (limited to 'src/link/Elf')
-rw-r--r--src/link/Elf/Archive.zig4
-rw-r--r--src/link/Elf/ZigObject.zig2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/link/Elf/Archive.zig b/src/link/Elf/Archive.zig
index 1493ded684..49496ec7b5 100644
--- a/src/link/Elf/Archive.zig
+++ b/src/link/Elf/Archive.zig
@@ -10,7 +10,7 @@ strtab: []const u8 = &[0]u8{},
/// String that begins an archive file.
pub const ARMAG: *const [SARMAG:0]u8 = "!<arch>\n";
/// Size of that string.
-pub const SARMAG: u4 = 8;
+pub const SARMAG = 8;
/// String in ar_fmag at the end of each header.
pub const ARFMAG: *const [2:0]u8 = "`\n";
@@ -58,7 +58,7 @@ pub const ar_hdr = extern struct {
}
fn isSymtab(self: ar_hdr) bool {
- return mem.eql(u8, getValue(&self.ar_name), "/");
+ return mem.eql(u8, getValue(&self.ar_name), "/") or mem.eql(u8, getValue(&self.ar_name), SYM64NAME);
}
};
diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig
index fd8de4002b..12ba88b7a9 100644
--- a/src/link/Elf/ZigObject.zig
+++ b/src/link/Elf/ZigObject.zig
@@ -514,7 +514,7 @@ pub fn updateArSymtab(self: ZigObject, elf_file: *Elf) !void {
if (global.type(elf_file) == elf.SHN_UNDEF) continue;
const off = try elf_file.ar_strtab.insert(gpa, global.name(elf_file));
- elf_file.ar_symtab.appendAssumeCapacity(.{ off, self.index });
+ elf_file.ar_symtab.appendAssumeCapacity(.{ .off = off, .file_index = self.index });
}
}