| ... | @@ -300,11 +300,11 @@ pub fn setOutputSym(symbol: Symbol, elf_file: *Elf, out: *elf.Elf64_Sym) void { | ... | @@ -300,11 +300,11 @@ pub fn setOutputSym(symbol: Symbol, elf_file: *Elf, out: *elf.Elf64_Sym) void { |
| 300 | if (symbol.flags.is_canonical) break :blk symbol.address(.{}, elf_file); | 300 | if (symbol.flags.is_canonical) break :blk symbol.address(.{}, elf_file); |
| 301 | break :blk 0; | 301 | break :blk 0; |
| 302 | } | 302 | } |
| 303 | if (st_shndx == elf.SHN_ABS or st_shndx == elf.SHN_COMMON) break :blk symbol.address(.{ .plt = false }, elf_file); | 303 | if (st_shndx == elf.SHN_ABS or st_shndx == elf.SHN_COMMON) break :blk symbol.address(.{ .plt = false, .zjt = false }, elf_file); |
| 304 | const shdr = elf_file.shdrs.items[st_shndx]; | 304 | const shdr = elf_file.shdrs.items[st_shndx]; |
| 305 | if (shdr.sh_flags & elf.SHF_TLS != 0 and file_ptr != .linker_defined) | 305 | if (shdr.sh_flags & elf.SHF_TLS != 0 and file_ptr != .linker_defined) |
| 306 | break :blk symbol.address(.{ .plt = false }, elf_file) - elf_file.tlsAddress(); | 306 | break :blk symbol.address(.{ .plt = false, .zjt = false }, elf_file) - elf_file.tlsAddress(); |
| 307 | break :blk symbol.address(.{ .plt = false }, elf_file); | 307 | break :blk symbol.address(.{ .plt = false, .zjt = false }, elf_file); |
| 308 | }; | 308 | }; |
| 309 | out.st_info = (st_bind << 4) | st_type; | 309 | out.st_info = (st_bind << 4) | st_type; |
| 310 | out.st_other = esym.st_other; | 310 | out.st_other = esym.st_other; |
| ... | @@ -323,7 +323,7 @@ pub fn format( | ... | @@ -323,7 +323,7 @@ pub fn format( |
| 323 | _ = unused_fmt_string; | 323 | _ = unused_fmt_string; |
| 324 | _ = options; | 324 | _ = options; |
| 325 | _ = writer; | 325 | _ = writer; |
| 326 | @compileError("do not format symbols directly"); | 326 | @compileError("do not format Symbol directly"); |
| 327 | } | 327 | } |
| 328 | | 328 | |
| 329 | const FormatContext = struct { | 329 | const FormatContext = struct { |