With the compiler-rt update in PR #29478, gcc_personality_v0.c now includes the unwind.h header to deduplicate some type definitions (commit: rust-lang/compiler-rt@5f0c79f) .
The unwind.h header available in NetBSD however does not provide all required definitions. Specifically, _Unwind_Action is absent in this header, leading to the following build failure:
.../rust/src/compiler-rt/lib/builtins/gcc_personality_v0.c:151:35: error: unknown type name '_Unwind_Action'
__gcc_personality_v0(int version, _Unwind_Action actions,
^
Side note: As far as I understand, NetBSD provides the above header only if the platform uses libgcc_eh (e.g. on amd64 using gcc, which is supported by Rust currently). Otherwise, LLVM's libunwind header is installed, which contains the required definitions.
I'm not sure how to fix this. Should Rust's compiler-rt duplicate the type definitions again?
With the compiler-rt update in PR #29478,
gcc_personality_v0.cnow includes theunwind.hheader to deduplicate some type definitions (commit: rust-lang/compiler-rt@5f0c79f) .The
unwind.hheader available in NetBSD however does not provide all required definitions. Specifically,_Unwind_Actionis absent in this header, leading to the following build failure:Side note: As far as I understand, NetBSD provides the above header only if the platform uses libgcc_eh (e.g. on amd64 using gcc, which is supported by Rust currently). Otherwise, LLVM's libunwind header is installed, which contains the required definitions.
I'm not sure how to fix this. Should Rust's compiler-rt duplicate the type definitions again?