mon3stera opened issue #11922:
.clifTest CaseNo standalone
.clifreproducer yet; this was observed in a real-world crate (sqlxwith thetls-rustls-aws-lc-rsfeature). I can try to reduce further withclif-util bugpointif desired, but the Cargo project below reliably reproduces the issue.Steps to Reproduce
cargo new --bin repro-sqlxReplace
Cargo.tomlwith:
```toml
[package]
name = "repro-sqlx"
version = "0.1.0"
edition = "2024"[dependencies]
tokio = { version = "1.44", features = ["rt-multi-thread", "macros"] }
sqlx = { version = "0.8.6", features = ["runtime-tokio", "tls-rustls-aws-lc-rs", "postgres", "macros"] }
```Replace
src/main.rswith:
```rust
use sqlx::Type;#[derive(Type, Debug)]
#[sqlx(type_name = "INT4")]
struct Dummy(i32);fn main() {
println!("{:?}", Dummy(42));
}
```Run
cargo build(succeeds)cargo clean- Run
RUSTFLAGS='-Zcodegen-backend=cranelift' cargo buildExpected Results
The build succeeds just like it does with the default LLVM backend.
Actual Results
The
sqlx_macrosproc-macro dylib fails to load because the relocation keeps the\u0001prefix from the#[link_name]attribute:error: .../target/debug/deps/libsqlx_macros-*.so: undefined symbol: ␁aws_lc_0_32_2_CRYPTO_memcmp --> sqlx-0.8.6/src/lib.rs:72:1 | 72 | pub extern crate sqlx_macros; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Comparing the linked artifacts:
# LLVM backend cargo clean cargo build --offline nm target/debug/deps/libsqlx_macros-*.so | cat -v | grep CRYPTO_memcmp # -> 00000000008ea27e t aws_lc_0_32_2_CRYPTO_memcmp # Cranelift backend cargo clean RUSTFLAGS='-Zcodegen-backend=cranelift' cargo build --offline nm target/debug/deps/libsqlx_macros-*.so | cat -v | grep CRYPTO_memcmp # -> U ^Aaws_lc_0_32_2_CRYPTO_memcmp (^A = \u0001)The static archive from
aws-lconly definesaws_lc_0_32_2_CRYPTO_memcmp, so the loader cannot resolve\u0001aws_lc_0_32_2_CRYPTO_memcmp.Versions and Environment
Cranelift version or commit: rustc 1.92.0-nightly (f04e3dfc8 2025-10-19)
Operating system: Linux (x86_64-unknown-linux-gnu)
Architecture: x86_64Extra info
Full failing build output is as foll␁ows:
Compiling proc-macro2 v1.0.101 Compiling quote v1.0.41 Compiling unicode-ident v1.0.19 Compiling libc v0.2.177 Compiling cfg-if v1.0.3 Compiling typenum v1.19.0 Compiling version_check v0.9.5 Compiling serde_core v1.0.228 Compiling stable_deref_trait v1.2.1 Compiling serde v1.0.228 Compiling subtle v2.6.1 Compiling shlex v1.3.0 Compiling find-msvc-tools v0.1.4 Compiling fs_extra v1.3.0 Compiling dunce v1.0.5 Compiling writeable v0.6.1 Compiling pin-project-lite v0.2.16 Compiling litemap v0.8.0 Compiling zeroize v1.8.2 Compiling icu_properties_data v2.0.1 Compiling icu_normalizer_data v2.0.0 Compiling futures-core v0.3.31 Compiling aws-lc-rs v1.14.1 Compiling crossbeam-utils v0.8.21 Compiling parking_lot_core v0.9.12 Compiling bytes v1.10.1 Compiling zerocopy v0.8.27 Compiling once_cell v1.21.3 Compiling equivalent v1.0.2 Compiling scopeguard v1.2.0 Compiling allocator-api2 v0.2.21 Compiling utf8_iter v1.0.4 Compiling libloading v0.8.8 Compiling rustls v0.23.32 Compiling serde_json v1.0.145 Compiling autocfg v1.5.0 Compiling foldhash v0.1.5 Compiling lock_api v0.4.14 Compiling percent-encoding v2.3.2 Compiling rustls-pki-types v1.12.0 Compiling memchr v2.7.6 Compiling untrusted v0.9.0 Compiling cpufeatures v0.2.17 Compiling futures-sink v0.3.31 Compiling thiserror v2.0.17 Compiling tracing-core v0.1.34 Compiling parking v2.2.1 Compiling log v0.4.28 Compiling slab v0.4.11 Compiling crc-catalog v2.4.0 Compiling tinyvec_macros v0.1.1 Compiling hashbrown v0.16.0 Compiling futures-task v0.3.31 Compiling pin-utils v0.1.0 Compiling itoa v1.0.15 Compiling futures-io v0.3.31 Compiling ryu v1.0.20 Compiling base64 v0.22.1 Compiling unicode-bidi v0.3.18 Compiling unicode-properties v0.1.3 Compiling generic-array v0.14.7 Compiling form_urlencoded v1.2.2 Compiling crc v3.3.0 Compiling tinyvec v1.10.0 Compiling futures-channel v0.3.31 Compiling home v0.5.11 Compiling dotenvy v0.15.7 Compiling bitflags v2.9.4 Compiling byteorder v1.5.0 Compiling hex v0.4.3 Compiling hashbrown v0.15.5 Compiling whoami v1.6.1 Compiling heck v0.5.0 Compiling num-traits v0.2.19 Compiling webpki-roots v1.0.3 Compiling webpki-roots v0.26.11 Compiling unicode-normalization v0.1.24 Compiling futures-util v0.3.31 Compiling concurrent-queue v2.5.0 Compiling crossbeam-queue v0.3.12 Compiling indexmap v2.11.4 Compiling event-listener v5.4.1 Compiling syn v2.0.106 Compiling stringprep v0.1.5 Compiling hashlink v0.10.0 Compiling jobserver v0.1.34 Compiling mio v1.0.4 Compiling socket2 v0.6.0 Compiling getrandom v0.2.16 Compiling atoi v2.0.0 Compiling rand_core v0.6.4 Compiling cc v1.2.41 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.6 Compiling tokio v1.47.1 Compiling digest v0.10.7 Compiling hmac v0.12.1 Compiling sha2 v0.10.9 Compiling md-5 v0.10.6 Compiling hkdf v0.12.4 Compiling ppv-lite86 v0.2.21 Compiling cmake v0.1.54 Compiling rand_chacha v0.3.1 Compiling rand v0.8.5 Compiling aws-lc-sys v0.32.2 Compiling synstructure v0.13.2 Compiling zerofrom-derive v0.1.6 Compiling yoke-derive v0.8.0 Compiling zerovec-derive v0.11.1 Compiling displaydoc v0.2.5 Compiling serde_derive v1.0.228 Compiling tracing-attributes v0.1.30 Compiling thiserror-impl v2.0.17 Compiling tokio-macros v2.5.0 Compiling zerofrom v0.1.6 Compiling tokio-stream v0.1.17 Compiling yoke v0.8.0 Compiling zerovec v0.11.4 Compiling zerotrie v0.2.2 Compiling tracing v0.1.41 Compiling tinystr v0.8.1 Compiling potential_utf v0.1.3 Compiling icu_collections v2.0.0 Compiling icu_locale_core v2.0.0 Compiling icu_provider v2.0.0 Compiling icu_properties v2.0.1 Compiling smallvec v1.15.1 Compiling either v1.15.0 Compiling icu_normalizer v2.0.0 Compiling parking_lot v0.12.5 Compiling futures-intrusive v0.5.0 Compiling idna_adapter v1.2.1 Compiling idna v1.1.0 Compiling url v2.5.7 Compiling rustls-webpki v0.103.7 Compiling sqlx-core v0.8.6 Compiling sqlx-postgres v0.8.6 Compiling sqlx-macros-core v0.8.6 Compiling sqlx-macros v0.8.6 Compiling sqlx v0.8.6 error: /home/obsidrielle/cranelift-aws-lc-repro/repro-sqlx/target/debug/deps/libsqlx_macros-bc3423c0793a4565.so: undefined symbol: ␁aws_lc_0_32_2_CRYPTO_memcmp --> /home/obsidrielle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/lib.rs:72:1 | 72 | pub extern crate sqlx_macros; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0432]: unresolved imports `self::encode::Encode`, `self::decode::Decode`, `super::Decode`, `super::Encode`, `super::FromRow`, `super::Type` --> /home/obsidrielle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/lib.rs:141:9 | 141 | pub use self::encode::Encode; | ^^^^^^^^^^^^^^^^^^^^ ... 152 | pub use self::decode::Decode; | ^^^^^^^^^^^^^^^^^^^^ ... 166 | pub use super::Decode; | ^^^^^^^^^^^^^ 167 | pub use super::Encode; | ^^^^^^^^^^^^^ 168 | pub use super::Executor; 169 | pub use super::FromRow; | ^^^^^^^^^^^^^^ ... 173 | pub use super::Type; | ^^^^^^^^^^^ For more information about this error, try `rustc --explain E0432`. error: could not compile `sqlx` (lib) due to 2 previous errors
mon3stera added the bug label to Issue #11922.
mon3stera added the cranelift label to Issue #11922.
mon3stera edited issue #11922:
.clifTest CaseNo standalone
.clifreproducer yet; this was observed in a real-world crate (sqlxwith thetls-rustls-aws-lc-rsfeature). I can try to reduce further withclif-util bugpointif desired, but the Cargo project below reliably reproduces the issue.Steps to Reproduce
cargo new --bin repro-sqlxReplace
Cargo.tomlwith:
```toml
[package]
name = "repro-sqlx"
version = "0.1.0"
edition = "2024"[dependencies]
tokio = { version = "1.44", features = ["rt-multi-thread", "macros"] }
sqlx = { version = "0.8.6", features = ["runtime-tokio", "tls-rustls-aws-lc-rs", "postgres", "macros"] }
```Replace
src/main.rswith:
```rust
use sqlx::Type;#[derive(Type, Debug)]
#[sqlx(type_name = "INT4")]
struct Dummy(i32);fn main() {
println!("{:?}", Dummy(42));
}
```Run
cargo build(succeeds)cargo clean- Run
RUSTFLAGS='-Zcodegen-backend=cranelift' cargo buildExpected Results
The build succeeds just like it does with the default LLVM backend.
Actual Results
The
sqlx_macrosproc-macro dylib fails to load because the relocation keeps the\u0001prefix from the#[link_name]attribute:error: .../target/debug/deps/libsqlx_macros-*.so: undefined symbol: ␁aws_lc_0_32_2_CRYPTO_memcmp --> sqlx-0.8.6/src/lib.rs:72:1 | 72 | pub extern crate sqlx_macros; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Comparing the linked artifacts:
# LLVM backend cargo clean cargo build --offline nm target/debug/deps/libsqlx_macros-*.so | cat -v | grep CRYPTO_memcmp # -> 00000000008ea27e t aws_lc_0_32_2_CRYPTO_memcmp # Cranelift backend cargo clean RUSTFLAGS='-Zcodegen-backend=cranelift' cargo build --offline nm target/debug/deps/libsqlx_macros-*.so | cat -v | grep CRYPTO_memcmp # -> U ^Aaws_lc_0_32_2_CRYPTO_memcmp (^A = \u0001)The static archive from
aws-lconly definesaws_lc_0_32_2_CRYPTO_memcmp, so the loader cannot resolve\u0001aws_lc_0_32_2_CRYPTO_memcmp.Versions and Environment
Cranelift version or commit: rustc 1.92.0-nightly (f04e3dfc8 2025-10-19)
Operating system: Linux (x86_64-unknown-linux-gnu)
Architecture: x86_64Extra info
Full failing build output is as follows:
Compiling proc-macro2 v1.0.101 Compiling quote v1.0.41 Compiling unicode-ident v1.0.19 Compiling libc v0.2.177 Compiling cfg-if v1.0.3 Compiling typenum v1.19.0 Compiling version_check v0.9.5 Compiling serde_core v1.0.228 Compiling stable_deref_trait v1.2.1 Compiling serde v1.0.228 Compiling subtle v2.6.1 Compiling shlex v1.3.0 Compiling find-msvc-tools v0.1.4 Compiling fs_extra v1.3.0 Compiling dunce v1.0.5 Compiling writeable v0.6.1 Compiling pin-project-lite v0.2.16 Compiling litemap v0.8.0 Compiling zeroize v1.8.2 Compiling icu_properties_data v2.0.1 Compiling icu_normalizer_data v2.0.0 Compiling futures-core v0.3.31 Compiling aws-lc-rs v1.14.1 Compiling crossbeam-utils v0.8.21 Compiling parking_lot_core v0.9.12 Compiling bytes v1.10.1 Compiling zerocopy v0.8.27 Compiling once_cell v1.21.3 Compiling equivalent v1.0.2 Compiling scopeguard v1.2.0 Compiling allocator-api2 v0.2.21 Compiling utf8_iter v1.0.4 Compiling libloading v0.8.8 Compiling rustls v0.23.32 Compiling serde_json v1.0.145 Compiling autocfg v1.5.0 Compiling foldhash v0.1.5 Compiling lock_api v0.4.14 Compiling percent-encoding v2.3.2 Compiling rustls-pki-types v1.12.0 Compiling memchr v2.7.6 Compiling untrusted v0.9.0 Compiling cpufeatures v0.2.17 Compiling futures-sink v0.3.31 Compiling thiserror v2.0.17 Compiling tracing-core v0.1.34 Compiling parking v2.2.1 Compiling log v0.4.28 Compiling slab v0.4.11 Compiling crc-catalog v2.4.0 Compiling tinyvec_macros v0.1.1 Compiling hashbrown v0.16.0 Compiling futures-task v0.3.31 Compiling pin-utils v0.1.0 Compiling itoa v1.0.15 Compiling futures-io v0.3.31 Compiling ryu v1.0.20 Compiling base64 v0.22.1 Compiling unicode-bidi v0.3.18 Compiling unicode-properties v0.1.3 Compiling generic-array v0.14.7 Compiling form_urlencoded v1.2.2 Compiling crc v3.3.0 Compiling tinyvec v1.10.0 Compiling futures-channel v0.3.31 Compiling home v0.5.11 Compiling dotenvy v0.15.7 Compiling bitflags v2.9.4 Compiling byteorder v1.5.0 Compiling hex v0.4.3 Compiling hashbrown v0.15.5 Compiling whoami v1.6.1 Compiling heck v0.5.0 Compiling num-traits v0.2.19 Compiling webpki-roots v1.0.3 Compiling webpki-roots v0.26.11 Compiling unicode-normalization v0.1.24 Compiling futures-util v0.3.31 Compiling concurrent-queue v2.5.0 Compiling crossbeam-queue v0.3.12 Compiling indexmap v2.11.4 Compiling event-listener v5.4.1 Compiling syn v2.0.106 Compiling stringprep v0.1.5 Compiling hashlink v0.10.0 Compiling jobserver v0.1.34 Compiling mio v1.0.4 Compiling socket2 v0.6.0 Compiling getrandom v0.2.16 Compiling atoi v2.0.0 Compiling rand_core v0.6.4 Compiling cc v1.2.41 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.6 Compiling tokio v1.47.1 Compiling digest v0.10.7 Compiling hmac v0.12.1 Compiling sha2 v0.10.9 Compiling md-5 v0.10.6 Compiling hkdf v0.12.4 Compiling ppv-lite86 v0.2.21 Compiling cmake v0.1.54 Compiling rand_chacha v0.3.1 Compiling rand v0.8.5 Compiling aws-lc-sys v0.32.2 Compiling synstructure v0.13.2 Compiling zerofrom-derive v0.1.6 Compiling yoke-derive v0.8.0 Compiling zerovec-derive v0.11.1 Compiling displaydoc v0.2.5 Compiling serde_derive v1.0.228 Compiling tracing-attributes v0.1.30 Compiling thiserror-impl v2.0.17 Compiling tokio-macros v2.5.0 Compiling zerofrom v0.1.6 Compiling tokio-stream v0.1.17 Compiling yoke v0.8.0 Compiling zerovec v0.11.4 Compiling zerotrie v0.2.2 Compiling tracing v0.1.41 Compiling tinystr v0.8.1 Compiling potential_utf v0.1.3 Compiling icu_collections v2.0.0 Compiling icu_locale_core v2.0.0 Compiling icu_provider v2.0.0 Compiling icu_properties v2.0.1 Compiling smallvec v1.15.1 Compiling either v1.15.0 Compiling icu_normalizer v2.0.0 Compiling parking_lot v0.12.5 Compiling futures-intrusive v0.5.0 Compiling idna_adapter v1.2.1 Compiling idna v1.1.0 Compiling url v2.5.7 Compiling rustls-webpki v0.103.7 Compiling sqlx-core v0.8.6 Compiling sqlx-postgres v0.8.6 Compiling sqlx-macros-core v0.8.6 Compiling sqlx-macros v0.8.6 Compiling sqlx v0.8.6 error: /home/obsidrielle/cranelift-aws-lc-repro/repro-sqlx/target/debug/deps/libsqlx_macros-bc3423c0793a4565.so: undefined symbol: ␁aws_lc_0_32_2_CRYPTO_memcmp --> /home/obsidrielle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/lib.rs:72:1 | 72 | pub extern crate sqlx_macros; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0432]: unresolved imports `self::encode::Encode`, `self::decode::Decode`, `super::Decode`, `super::Encode`, `super::FromRow`, `super::Type` --> /home/obsidrielle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/lib.rs:141:9 | 141 | pub use self::encode::Encode; | ^^^^^^^^^^^^^^^^^^^^ ... 152 | pub use self::decode::Decode; | ^^^^^^^^^^^^^^^^^^^^ ... 166 | pub use super::Decode; | ^^^^^^^^^^^^^ 167 | pub use super::Encode; | ^^^^^^^^^^^^^ 168 | pub use super::Executor; 169 | pub use super::FromRow; | ^^^^^^^^^^^^^^ ... 173 | pub use super::Type; | ^^^^^^^^^^^ For more information about this error, try `rustc --explain E0432`. error: could not compile `sqlx` (lib) due to 2 previous errors
cfallin closed issue #11922:
.clifTest CaseNo standalone
.clifreproducer yet; this was observed in a real-world crate (sqlxwith thetls-rustls-aws-lc-rsfeature). I can try to reduce further withclif-util bugpointif desired, but the Cargo project below reliably reproduces the issue.Steps to Reproduce
cargo new --bin repro-sqlxReplace
Cargo.tomlwith:
```toml
[package]
name = "repro-sqlx"
version = "0.1.0"
edition = "2024"[dependencies]
tokio = { version = "1.44", features = ["rt-multi-thread", "macros"] }
sqlx = { version = "0.8.6", features = ["runtime-tokio", "tls-rustls-aws-lc-rs", "postgres", "macros"] }
```Replace
src/main.rswith:
```rust
use sqlx::Type;#[derive(Type, Debug)]
#[sqlx(type_name = "INT4")]
struct Dummy(i32);fn main() {
println!("{:?}", Dummy(42));
}
```Run
cargo build(succeeds)cargo clean- Run
RUSTFLAGS='-Zcodegen-backend=cranelift' cargo buildExpected Results
The build succeeds just like it does with the default LLVM backend.
Actual Results
The
sqlx_macrosproc-macro dylib fails to load because the relocation keeps the\u0001prefix from the#[link_name]attribute:error: .../target/debug/deps/libsqlx_macros-*.so: undefined symbol: ␁aws_lc_0_32_2_CRYPTO_memcmp --> sqlx-0.8.6/src/lib.rs:72:1 | 72 | pub extern crate sqlx_macros; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Comparing the linked artifacts:
# LLVM backend cargo clean cargo build --offline nm target/debug/deps/libsqlx_macros-*.so | cat -v | grep CRYPTO_memcmp # -> 00000000008ea27e t aws_lc_0_32_2_CRYPTO_memcmp # Cranelift backend cargo clean RUSTFLAGS='-Zcodegen-backend=cranelift' cargo build --offline nm target/debug/deps/libsqlx_macros-*.so | cat -v | grep CRYPTO_memcmp # -> U ^Aaws_lc_0_32_2_CRYPTO_memcmp (^A = \u0001)The static archive from
aws-lconly definesaws_lc_0_32_2_CRYPTO_memcmp, so the loader cannot resolve\u0001aws_lc_0_32_2_CRYPTO_memcmp.Versions and Environment
Cranelift version or commit: rustc 1.92.0-nightly (f04e3dfc8 2025-10-19)
Operating system: Linux (x86_64-unknown-linux-gnu)
Architecture: x86_64Extra info
Full failing build output is as follows:
Compiling proc-macro2 v1.0.101 Compiling quote v1.0.41 Compiling unicode-ident v1.0.19 Compiling libc v0.2.177 Compiling cfg-if v1.0.3 Compiling typenum v1.19.0 Compiling version_check v0.9.5 Compiling serde_core v1.0.228 Compiling stable_deref_trait v1.2.1 Compiling serde v1.0.228 Compiling subtle v2.6.1 Compiling shlex v1.3.0 Compiling find-msvc-tools v0.1.4 Compiling fs_extra v1.3.0 Compiling dunce v1.0.5 Compiling writeable v0.6.1 Compiling pin-project-lite v0.2.16 Compiling litemap v0.8.0 Compiling zeroize v1.8.2 Compiling icu_properties_data v2.0.1 Compiling icu_normalizer_data v2.0.0 Compiling futures-core v0.3.31 Compiling aws-lc-rs v1.14.1 Compiling crossbeam-utils v0.8.21 Compiling parking_lot_core v0.9.12 Compiling bytes v1.10.1 Compiling zerocopy v0.8.27 Compiling once_cell v1.21.3 Compiling equivalent v1.0.2 Compiling scopeguard v1.2.0 Compiling allocator-api2 v0.2.21 Compiling utf8_iter v1.0.4 Compiling libloading v0.8.8 Compiling rustls v0.23.32 Compiling serde_json v1.0.145 Compiling autocfg v1.5.0 Compiling foldhash v0.1.5 Compiling lock_api v0.4.14 Compiling percent-encoding v2.3.2 Compiling rustls-pki-types v1.12.0 Compiling memchr v2.7.6 Compiling untrusted v0.9.0 Compiling cpufeatures v0.2.17 Compiling futures-sink v0.3.31 Compiling thiserror v2.0.17 Compiling tracing-core v0.1.34 Compiling parking v2.2.1 Compiling log v0.4.28 Compiling slab v0.4.11 Compiling crc-catalog v2.4.0 Compiling tinyvec_macros v0.1.1 Compiling hashbrown v0.16.0 Compiling futures-task v0.3.31 Compiling pin-utils v0.1.0 Compiling itoa v1.0.15 Compiling futures-io v0.3.31 Compiling ryu v1.0.20 Compiling base64 v0.22.1 Compiling unicode-bidi v0.3.18 Compiling unicode-properties v0.1.3 Compiling generic-array v0.14.7 Compiling form_urlencoded v1.2.2 Compiling crc v3.3.0 Compiling tinyvec v1.10.0 Compiling futures-channel v0.3.31 Compiling home v0.5.11 Compiling dotenvy v0.15.7 Compiling bitflags v2.9.4 Compiling byteorder v1.5.0 Compiling hex v0.4.3 Compiling hashbrown v0.15.5 Compiling whoami v1.6.1 Compiling heck v0.5.0 Compiling num-traits v0.2.19 Compiling webpki-roots v1.0.3 Compiling webpki-roots v0.26.11 Compiling unicode-normalization v0.1.24 Compiling futures-util v0.3.31 Compiling concurrent-queue v2.5.0 Compiling crossbeam-queue v0.3.12 Compiling indexmap v2.11.4 Compiling event-listener v5.4.1 Compiling syn v2.0.106 Compiling stringprep v0.1.5 Compiling hashlink v0.10.0 Compiling jobserver v0.1.34 Compiling mio v1.0.4 Compiling socket2 v0.6.0 Compiling getrandom v0.2.16 Compiling atoi v2.0.0 Compiling rand_core v0.6.4 Compiling cc v1.2.41 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.6 Compiling tokio v1.47.1 Compiling digest v0.10.7 Compiling hmac v0.12.1 Compiling sha2 v0.10.9 Compiling md-5 v0.10.6 Compiling hkdf v0.12.4 Compiling ppv-lite86 v0.2.21 Compiling cmake v0.1.54 Compiling rand_chacha v0.3.1 Compiling rand v0.8.5 Compiling aws-lc-sys v0.32.2 Compiling synstructure v0.13.2 Compiling zerofrom-derive v0.1.6 Compiling yoke-derive v0.8.0 Compiling zerovec-derive v0.11.1 Compiling displaydoc v0.2.5 Compiling serde_derive v1.0.228 Compiling tracing-attributes v0.1.30 Compiling thiserror-impl v2.0.17 Compiling tokio-macros v2.5.0 Compiling zerofrom v0.1.6 Compiling tokio-stream v0.1.17 Compiling yoke v0.8.0 Compiling zerovec v0.11.4 Compiling zerotrie v0.2.2 Compiling tracing v0.1.41 Compiling tinystr v0.8.1 Compiling potential_utf v0.1.3 Compiling icu_collections v2.0.0 Compiling icu_locale_core v2.0.0 Compiling icu_provider v2.0.0 Compiling icu_properties v2.0.1 Compiling smallvec v1.15.1 Compiling either v1.15.0 Compiling icu_normalizer v2.0.0 Compiling parking_lot v0.12.5 Compiling futures-intrusive v0.5.0 Compiling idna_adapter v1.2.1 Compiling idna v1.1.0 Compiling url v2.5.7 Compiling rustls-webpki v0.103.7 Compiling sqlx-core v0.8.6 Compiling sqlx-postgres v0.8.6 Compiling sqlx-macros-core v0.8.6 Compiling sqlx-macros v0.8.6 Compiling sqlx v0.8.6 error: /home/obsidrielle/cranelift-aws-lc-repro/repro-sqlx/target/debug/deps/libsqlx_macros-bc3423c0793a4565.so: undefined symbol: ␁aws_lc_0_32_2_CRYPTO_memcmp --> /home/obsidrielle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/lib.rs:72:1 | 72 | pub extern crate sqlx_macros; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0432]: unresolved imports `self::encode::Encode`, `self::decode::Decode`, `super::Decode`, `super::Encode`, `super::FromRow`, `super::Type` --> /home/obsidrielle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/lib.rs:141:9 | 141 | pub use self::encode::Encode; | ^^^^^^^^^^^^^^^^^^^^ ... 152 | pub use self::decode::Decode; | ^^^^^^^^^^^^^^^^^^^^ ... 166 | pub use super::Decode; | ^^^^^^^^^^^^^ 167 | pub use super::Encode; | ^^^^^^^^^^^^^ 168 | pub use super::Executor; 169 | pub use super::FromRow; | ^^^^^^^^^^^^^^ ... 173 | pub use super::Type; | ^^^^^^^^^^^ For more information about this error, try `rustc --explain E0432`. error: could not compile `sqlx` (lib) due to 2 previous errors
cfallin commented on issue #11922:
Thanks for filing an issue!
I think you will probably want to file this instead on the
rust-lang/rustc_codegen_craneliftrepository. To expand a bit: Cranelift proper, as hosted in this repository (e.g. thecranelift-codegencrate and a few auxiliary ones), is a core compiler backend, but is more a set of building blocks to put together a conventional compiler. The core crate doesn't even have a concept of symbols, only integer function indices (ish).rustc_codegen_cranelift, orcg_cliffor short, embeds Cranelift as a library and builds a full rustc backend on top of it. The first place for triage on issues with "the Cranelift backend [for rustc]" should be that repo, and if they determine that the bug is in an underlying Cranelift component, they can redirect here again. @bjorn3 is the lead developer and maintainer of that project and might be able to help more.I'll go ahead and close this here for now but best of luck!
bjorn3 commented on issue #11922:
This is https://github.com/rust-lang/rustc_codegen_cranelift/issues/1520.
Last updated: Dec 06 2025 at 06:05 UTC