aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-11-15 19:07:09 +0100
committerJakub Konka <kubkon@jakubkonka.com>2023-11-15 19:07:09 +0100
commitd771c0a7a19a4d39e1541afa0bf69935daa5222e (patch)
tree07231ef69618a74c0884d2198269afb966474cc4 /src
parent6f3bbd5eaa61a93f96245bfec8d9429f4ea9f88e (diff)
downloadzig-d771c0a7a19a4d39e1541afa0bf69935daa5222e.tar.gz
zig-d771c0a7a19a4d39e1541afa0bf69935daa5222e.zip
elf: create .got.plt unconditionally
Diffstat (limited to 'src')
-rw-r--r--src/link/Elf.zig15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index 5b0591875c..2a3c0dd79e 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -3394,6 +3394,14 @@ fn initSections(self: *Elf) !void {
});
}
+ self.got_plt_section_index = try self.addSection(.{
+ .name = ".got.plt",
+ .type = elf.SHT_PROGBITS,
+ .flags = elf.SHF_ALLOC | elf.SHF_WRITE,
+ .addralign = @alignOf(u64),
+ .offset = std.math.maxInt(u64),
+ });
+
const needs_rela_dyn = blk: {
if (self.got.flags.needs_rela or self.got.flags.needs_tlsld or
self.zig_got.flags.needs_rela or self.copy_rel.symbols.items.len > 0) break :blk true;
@@ -3424,13 +3432,6 @@ fn initSections(self: *Elf) !void {
.addralign = 16,
.offset = std.math.maxInt(u64),
});
- self.got_plt_section_index = try self.addSection(.{
- .name = ".got.plt",
- .type = elf.SHT_PROGBITS,
- .flags = elf.SHF_ALLOC | elf.SHF_WRITE,
- .addralign = @alignOf(u64),
- .offset = std.math.maxInt(u64),
- });
self.rela_plt_section_index = try self.addSection(.{
.name = ".rela.plt",
.type = elf.SHT_RELA,