Skip to content

test CI: fix cross-build failures#2

Open
amaanq wants to merge 34 commits intomainfrom
fix-ci-cross-builds
Open

test CI: fix cross-build failures#2
amaanq wants to merge 34 commits intomainfrom
fix-ci-cross-builds

Conversation

@amaanq
Copy link
Copy Markdown
Owner

@amaanq amaanq commented Mar 27, 2026

CI test only — will be closed after verification.

NotAShelf and others added 30 commits March 25, 2026 17:07
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I572acd49ef687c8049d43a7ba42bd12c6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie94268934435b70bfbcd81e4676600206a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8bb8f3b2e3966cfa2324c0cf8eb447386a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I162c771dce2714fa73db3e2e5dc8dcb36a6a6964
…ysinfo`

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I63887d9f73e6fed670e497086d30d2a46a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2747d4b065095314a1d454a204a251c96a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1a4110c5b79f7cbb3a7d964e3a5a80c66a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Icbd2ba104c66907208cb37adf0c3915a6a6a6964
…uosqk

various: replace libc invocations with `std::env` and handwritten syscall wrappers
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id6c10efbb185fc44fcf22e6ab5c94a266a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8886d8c13a09231ad45f0a075e1308766a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifabe7af523ece1354b301b1a321659ee6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia24cb1647df93034937a8fcd6cad895c6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6f5fac0de48162e114976da3aa5adf216a6a6964
I don't want to configure cargo-cross tbh

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I749bc02bbdf8922fdf7a5904508b8af66a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaae187e8320a3642c813ca2095a616056a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iadb9cd4ce33acdd2de585a740ac72da86a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I36756896731a4df6903fcafea68246c76a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I753245e75da3a995c622a2c73f77bcb26a6a6964
…uxwln

treewide: break into multiple crates
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1af24924f436b3f552b67f54bad2c02a6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia1c001eb099ea8cae9bdf76642b873376a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6df95b1f0a9f117c8e108d8755389a4d6a6a6964
…rely

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I19ecd9801cf6e04adcedd3003d9fc59d6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib5925097dd366505d01f9448e7e2ee926a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0e3132ab1499684eda715c3cee9b27a16a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ibdd7b1deaff9489cedcbbc05ce7956d86a6a6964
@amaanq amaanq force-pushed the fix-ci-cross-builds branch 6 times, most recently from 1497a99 to 26c0707 Compare March 27, 2026 21:53
amaanq added 3 commits March 27, 2026 18:03
riscv64 codegen emits calls to bcmp for byte comparisons, which is
undefined when linking with -static and no libc. Provide both bcmp
and memcmp implementations alongside the existing memcpy/memset/strlen.
cargo config.toml [target.<triple>] flags apply to ALL compilations for
that triple including proc-macro .so crates and build scripts. Move
-nostartfiles, -static, and linker stripping flags to build.rs using
cargo:rustc-link-arg-bin so they only affect the final binary. Switch
config.toml from cfg(target_os) to per-triple sections and keep only
force-unwind-tables=no (safe for all crate types). Make ld-wrapper
detect -shared (proc-macro) and fall back to plain cc, and auto-detect
mold availability.
A #[no_mangle] _start in a library .rlib gets linked into every
dependent crate's test harness, conflicting with Scrt1.o. Move _start,
entry_rust, and the extern main declaration into the binary crate where
they belong. Also fixes aarch64 stack alignment: `and sp, sp, #-16`
is invalid because logical instructions encode register 31 as xzr, not
sp; use a temp register (x9) instead.
@amaanq amaanq force-pushed the fix-ci-cross-builds branch from 26c0707 to 04e4e44 Compare March 27, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants