Undefined external symbols from compiler_builtins · Issue #124042 · rust-lang/rust (original) (raw)

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