Re: [PATCH v1] rust: bug: skip arch-specific asm in `testlib` builds

Miguel Ojeda <[email protected]>
Newsgroups org.kernel.vger.rust-for-linux
Message-ID <CANiq72m4pmmLaCkwL8vLC3s38rPNbzBCM8t+=h4eh8=FUFiTtw@mail.gmail.com>
On Sat, Aug 8, 2026 at 4:26 AM FUJITA Tomonori <[email protected]> wrote:
>
> From: FUJITA Tomonori <[email protected]>
>
> Running `make rusttest` with `ARCH=` set to an architecture other than
> the host's fails, e.g. `ARCH=arm64` on an x86_64 host:
>
> error: invalid instruction mnemonic 'brk'
>   --> rust/kernel/bug.rs:63:17
>    |
> 63 | /                 concat!(
> 64 | |                     "/* {size} */",
> 65 | |                     include!(concat!(env!("OBJTREE"), "/rust/kernel/generated_arch_warn_asm.rs")),
> 66 | |                     include!(concat!(env!("OBJTREE"), "/rust/kernel/generated_arch_reachable_asm.rs")));
>    | |_______________________________________________________________________________________________________^
>    |
> note: instantiated into assembly here
>   --> <inline asm>:1:115
>    |
>  1 |     /* 8 */.pushsection __bug_table,"aw"; .align 2; 14470: .long 14471f - .;.short 2305;.align 2; .popsection; 14471:brk 0x800
>    |                                                                                                                      ^^^
>
> The reason is that `rusttest` builds the `kernel` crate as a host
> library: it passes the `CONFIG_*` cfgs of the configured architecture,
> but not `--target`, so code generation happens for the
> host. `warn_flags!` then selects the arch-specific inline asm arm
> based on `CONFIG_*`, and the host assembler rejects it.
>
> This does not happen with the current `master` because `warn_on!` has
> no user inside the `kernel` crate itself yet, but it will as soon as
> one is added.
>
> Reported-by: Miguel Ojeda <[email protected]>
> Closes: https://lore.kernel.org/all/CANiq72n4=fz=JNKY0Jdm8BnLa=RmHB2B7s0bO47YTJ7hygqBZg@mail.gmail.com/
> Signed-off-by: FUJITA Tomonori <[email protected]>

Applied to `rust-next` -- thanks!

    Cc: [email protected]
    Fixes: dff64b072708 ("rust: Add warn_on macro")

Cheers,
Miguel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.