Skip to content

Undefined external symbols from compiler_builtins #124042

Closed
@fenhl

Description

@fenhl

I have a project where I'm experimenting with introducing Rust code into an existing codebase by compiling it into a static library for a custom target and linking it using armips. This process no longer works on the latest nightly because armips complains about undefined external symbols such as _rnvntcse1eqnti5u6g_17compiler_builtins4math5atan2.

A minimal example is at https://github.com/fenhl/rust-builtins-min which can be tested by running python build.py after installing armips (scoop install extras/armips on Windows, see https://github.com/Kingcom/armips for binaries and build instructions for other platforms).

I ran cargo-bisect-rustc on the original project where I ran into this (not the minimal example, hence the different script in the command line) and it points to #123719 as the commit that introduced the regression.

cargo-bisect-rustc output

searched nightlies: from nightly-2022-06-21 to nightly-2024-04-16
regressed nightly: nightly-2024-04-15
searched commit range: 0bf471f...0d8b334
regressed commit: 29b1207

bisected with cargo-bisect-rustc v0.6.8

Host triple: x86_64-pc-windows-msvc
Reproduce with:

cargo bisect-rustc --start=2022-06-21 -c rust-src --script python -- .\cargo-bisect-rustc-test.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesO-MIPSTarget: MIPS processorsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions