aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-08-13 12:08:21 +0200
committerJakub Konka <kubkon@jakubkonka.com>2024-08-13 13:30:24 +0200
commit9daf5e81c4bdc413a3bb11c1bab207c19e6ba547 (patch)
tree346d8f6b7b475c979c82598bdd3361afa3ba031f
parentdf80ccf7600818faafd485b4c01bd4fe0f26a8e5 (diff)
downloadzig-9daf5e81c4bdc413a3bb11c1bab207c19e6ba547.tar.gz
zig-9daf5e81c4bdc413a3bb11c1bab207c19e6ba547.zip
elf: commit non-indirected symbol address to symtab
-rw-r--r--src/link/Elf/Symbol.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/link/Elf/Symbol.zig b/src/link/Elf/Symbol.zig
index 8b30f0ab03..1f81b3ff98 100644
--- a/src/link/Elf/Symbol.zig
+++ b/src/link/Elf/Symbol.zig
@@ -300,11 +300,11 @@ pub fn setOutputSym(symbol: Symbol, elf_file: *Elf, out: *elf.Elf64_Sym) void {
if (symbol.flags.is_canonical) break :blk symbol.address(.{}, elf_file);
break :blk 0;
}
- if (st_shndx == elf.SHN_ABS or st_shndx == elf.SHN_COMMON) break :blk symbol.address(.{ .plt = false }, elf_file);
+ if (st_shndx == elf.SHN_ABS or st_shndx == elf.SHN_COMMON) break :blk symbol.address(.{ .plt = false, .zjt = false }, elf_file);
const shdr = elf_file.shdrs.items[st_shndx];
if (shdr.sh_flags & elf.SHF_TLS != 0 and file_ptr != .linker_defined)
- break :blk symbol.address(.{ .plt = false }, elf_file) - elf_file.tlsAddress();
- break :blk symbol.address(.{ .plt = false }, elf_file);
+ break :blk symbol.address(.{ .plt = false, .zjt = false }, elf_file) - elf_file.tlsAddress();
+ break :blk symbol.address(.{ .plt = false, .zjt = false }, elf_file);
};
out.st_info = (st_bind << 4) | st_type;
out.st_other = esym.st_other;
@@ -323,7 +323,7 @@ pub fn format(
_ = unused_fmt_string;
_ = options;
_ = writer;
- @compileError("do not format symbols directly");
+ @compileError("do not format Symbol directly");
}
const FormatContext = struct {