authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-08-04 10:17:43+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-05 14:54:30+02:00
loged49181682ed61e8df2f30e3e086f5d55daa3cb0
treeb5001230bc017f6ce1bcba2cafb63ce020b108bf
parent3dce9fe636b7cb028f0425b463a19ab1dba9942c
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

Revert "llvm: work around upstream aarch64-windows bug for private thread_local symbols"

This reverts commit b3747dd707eeaf06e0bacbde259bf71ef525a961. closes https://codeberg.org/ziglang/zig/issues/31865

1 files changed, 2 insertions(+), 7 deletions(-)

src/codegen/llvm.zig+2-7
......@@ -986,11 +986,6 @@ pub const Object = struct {
986986 try o.flushTypePool(pt);
987987 }
988988
989 fn workaroundPrivateSymbolBugs(target: *const std.Target, resolved: *const InternPool.Nav.Resolved) bool {
990 // https://codeberg.org/ziglang/zig/issues/31865
991 return target.cpu.arch.isAARCH64() and target.ofmt == .coff and resolved.@"threadlocal";
992 }
993
994989 pub fn updateNav(o: *Object, pt: Zcu.PerThread, nav_id: InternPool.Nav.Index) !void {
995990 const zcu = o.zcu;
996991 const ip = &zcu.intern_pool;
......@@ -1063,14 +1058,14 @@ pub const Object = struct {
10631058 false => .default,
10641059 };
10651060 llvm_global.ptr(&o.builder).linkage = switch (@"extern".linkage) {
1066 .internal => if (o.builder.strip and !workaroundPrivateSymbolBugs(zcu.getTarget(), &resolved)) .private else .internal,
1061 .internal => if (o.builder.strip) .private else .internal,
10671062 .strong => .external,
10681063 .weak => .extern_weak,
10691064 .link_once => unreachable,
10701065 };
10711066 llvm_global.ptr(&o.builder).visibility = .fromSymbolVisibility(@"extern".visibility);
10721067 } else {
1073 llvm_global.ptr(&o.builder).linkage = if (o.builder.strip and !workaroundPrivateSymbolBugs(zcu.getTarget(), &resolved)) .private else .internal;
1068 llvm_global.ptr(&o.builder).linkage = if (o.builder.strip) .private else .internal;
10741069 llvm_global.ptr(&o.builder).visibility = .default;
10751070 llvm_global.ptr(&o.builder).dll_storage_class = .default;
10761071 llvm_global.ptr(&o.builder).unnamed_addr = .unnamed_addr;