Skip to content

compiler-rt fails to build on NetBSD #29977

Closed
@gandro

Description

@gandro

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    O-netbsdOperating system: NetBSD

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions