From ce817c0d27599a4199cec01383568a1e47daef91 Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Tue, 3 Mar 2026 09:00:03 -0600 Subject: [PATCH] Use POSIX `-u` instead of GNU `--undefined` for zig linker support --- cargo-auditable/src/rustc_wrapper.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cargo-auditable/src/rustc_wrapper.rs b/cargo-auditable/src/rustc_wrapper.rs index 0789166..92d34f4 100644 --- a/cargo-auditable/src/rustc_wrapper.rs +++ b/cargo-auditable/src/rustc_wrapper.rs @@ -137,12 +137,14 @@ fn rustc_command_with_audit_data(rustc_path: &OsStr) -> Option { } else if is_wasm(&target_info) { // We don't emit the symbol name in WASM, so nothing to do } else { - // Unrecognized platform, assume it to be unix-like - #[allow(clippy::collapsible_else_if)] + // Unrecognized platform, assume it to be unix-like. + // Use POSIX `-u` instead of GNU `--undefined=` for broad compatibility + // (e.g. zig rejects the GNU form). if args.bare_linker() { - command.arg("-Clink-arg=--undefined=AUDITABLE_VERSION_INFO"); + command.arg("-Clink-arg=-u"); + command.arg("-Clink-arg=AUDITABLE_VERSION_INFO"); } else { - command.arg("-Clink-arg=-Wl,--undefined=AUDITABLE_VERSION_INFO"); + command.arg("-Clink-arg=-Wl,-u,AUDITABLE_VERSION_INFO"); } } Some(command)