From bc7cdc2b6b08070e1983d6c38744d74c9dddf5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sat, 4 Oct 2025 00:44:21 +0200 Subject: [PATCH] libcxxabi: don't build cxa_noexception.cpp if exceptions are enabled --- src/libs/libcxx.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/libcxx.zig b/src/libs/libcxx.zig index 868c884beb..3c296d477f 100644 --- a/src/libs/libcxx.zig +++ b/src/libs/libcxx.zig @@ -393,11 +393,13 @@ pub fn buildLibCxxAbi(comp: *Compilation, prog_node: std.Progress.Node) BuildErr var c_source_files = try std.array_list.Managed(Compilation.CSourceFile).initCapacity(arena, libcxxabi_files.len); for (libcxxabi_files) |cxxabi_src| { - if (!comp.config.any_non_single_threaded and std.mem.startsWith(u8, cxxabi_src, "src/cxa_thread_atexit.cpp")) + if (!comp.config.any_non_single_threaded and std.mem.eql(u8, cxxabi_src, "src/cxa_thread_atexit.cpp")) continue; if (target.os.tag == .wasi and (std.mem.eql(u8, cxxabi_src, "src/cxa_exception.cpp") or std.mem.eql(u8, cxxabi_src, "src/cxa_personality.cpp"))) continue; + if (target.os.tag != .wasi and std.mem.eql(u8, cxxabi_src, "src/cxa_noexception.cpp")) + continue; var cflags = std.array_list.Managed([]const u8).init(arena);