aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-03-08 14:20:35 +0100
committerJakub Konka <kubkon@jakubkonka.com>2024-03-08 22:46:17 +0100
commit310cef09724067f4df38b42c928cb120fdc09df8 (patch)
tree43a0c6cc166c47a9371edc858b9853b4edb53b3f /src/link/Elf.zig
parent109d2321b0d92f20e75dcc0b7074026cefe1090e (diff)
downloadzig-310cef09724067f4df38b42c928cb120fdc09df8.tar.gz
zig-310cef09724067f4df38b42c928cb120fdc09df8.zip
elf+aarch64: handle TLSDESC non-relaxed
Diffstat (limited to 'src/link/Elf.zig')
-rw-r--r--src/link/Elf.zig3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index 12f02f9761..78cc434b2f 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -2105,7 +2105,6 @@ fn scanRelocs(self: *Elf) !void {
}
if (sym.flags.needs_tlsdesc) {
log.debug("'{s}' needs TLSDESC", .{sym.name(self)});
- try self.dynsym.addSymbol(index, self);
try self.got.addTlsDescSymbol(index, self);
}
}
@@ -4497,7 +4496,7 @@ fn writeAtoms(self: *Elf) !void {
const buffer = try gpa.alloc(u8, sh_size);
defer gpa.free(buffer);
const padding_byte: u8 = if (shdr.sh_type == elf.SHT_PROGBITS and
- shdr.sh_flags & elf.SHF_EXECINSTR != 0)
+ shdr.sh_flags & elf.SHF_EXECINSTR != 0 and self.getTarget().cpu.arch == .x86_64)
0xcc // int3
else
0;