aboutsummaryrefslogtreecommitdiff
path: root/src/libunwind.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-12-13 03:09:24 +0100
committerGitHub <noreply@github.com>2024-12-13 03:09:24 +0100
commit130f7c2ed8e3358e24bb2fc7cca57f7a6f1f85c3 (patch)
treeebb88312b13fb8b1e67b852bcb0e42903ad11193 /src/libunwind.zig
parentd48611ba67c7871cb348f28a01b89d8771170dd8 (diff)
parentc666ebb1f8aac440a4d0d554e9f8aa836bf58060 (diff)
downloadzig-130f7c2ed8e3358e24bb2fc7cca57f7a6f1f85c3.tar.gz
zig-130f7c2ed8e3358e24bb2fc7cca57f7a6f1f85c3.zip
Merge pull request #22035 from alexrp/unwind-fixes
Better unwind table support + unwind protection in `_start()` and `clone()`
Diffstat (limited to 'src/libunwind.zig')
-rw-r--r--src/libunwind.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libunwind.zig b/src/libunwind.zig
index 1e101da229..4b3583e1cd 100644
--- a/src/libunwind.zig
+++ b/src/libunwind.zig
@@ -65,7 +65,8 @@ pub fn buildStaticLib(comp: *Compilation, prog_node: std.Progress.Node) BuildErr
.sanitize_c = false,
.sanitize_thread = false,
// necessary so that libunwind can unwind through its own stack frames
- .unwind_tables = true,
+ // The old 32-bit x86 variant of SEH doesn't use tables.
+ .unwind_tables = if (target.cpu.arch == .x86 and target.os.tag == .windows) .none else .@"async",
.pic = if (target_util.supports_fpic(target)) true else null,
.optimize_mode = comp.compilerRtOptMode(),
},