diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-08-13 12:08:21 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2024-08-13 13:30:24 +0200 |
| commit | 9daf5e81c4bdc413a3bb11c1bab207c19e6ba547 (patch) | |
| tree | 346d8f6b7b475c979c82598bdd3361afa3ba031f /src/link | |
| parent | df80ccf7600818faafd485b4c01bd4fe0f26a8e5 (diff) | |
| download | zig-9daf5e81c4bdc413a3bb11c1bab207c19e6ba547.tar.gz zig-9daf5e81c4bdc413a3bb11c1bab207c19e6ba547.zip | |
elf: commit non-indirected symbol address to symtab
Diffstat (limited to 'src/link')
| -rw-r--r-- | src/link/Elf/Symbol.zig | 8 |
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 { |
