Skip to content

Xous build failure due to naked_asm changes #134403

Closed
@xobs

Description

@xobs

Code

I tried this code:

$ RUST_COMPILER_RT_ROOT="$(pwd)/src/llvm-project/compiler-rt" RUSTFLAGS="-Zforce-unstable-if-unmarked=yes" cargo +nightly build --target riscv32imac-unknown-xous-elf -Zbinary-dep-depinfo --release --features "panic-unwind" --manifest-path "library/sysroot/Cargo.toml"

I expected to see this happen: Rust should build libstd for Xous

Instead, this happened: Rust errored out with could not compile 'unwinding':

   Compiling unwinding v0.2.4
   Compiling unwind v0.0.0 (/opt/Xous/rust-nightly/rust/library/unwind)
   Compiling panic_unwind v0.0.0 (/opt/Xous/rust-nightly/rust/library/panic_unwind)
error: <inline asm>:11:1: this directive must appear between .cfi_startproc and .cfi_endproc directives
.cfi_def_cfa_offset 0x90
^

error: could not compile `unwinding` (lib)

Version it worked on

It most recently worked on: Rust nightly 2024-12-11

Version with regression

rustc --version --verbose:

rustc 1.85.0-nightly (6d9f6ae36 2024-12-16)
binary: rustc
commit-hash: 6d9f6ae36ae1299d6126ba40c15191f7aa3b79d8
commit-date: 2024-12-16
host: x86_64-unknown-linux-gnu
release: 1.85.0-nightly
LLVM version: 19.1.5

More information

I have filed an issue in unwinding. This error likely appeared as a result of #128004. However, I am unable to merge PR 41 because CI is failing due to issue #80608.

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-nakedArea: `#[naked]`, prologue and epilogue-free, functions, https://git.io/vAzzSC-discussionCategory: Discussion or questions that doesn't represent real issues.F-naked_functions`#![feature(naked_functions)]`O-xousOS: A microkernel OS for privacy in computingT-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