Re: [PATCH v2] x86/build/64: Prevent native builds from generating APX instructions

"Chang S. Bae" <[email protected]>
Newsgroups org.kernel.vger.rust-for-linux,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On 8/7/2026 9:58 AM, Miguel Ojeda wrote:
> On Fri, Aug 7, 2026 at 5:43 PM Chang S. Bae <[email protected]> wrote:
>>
>> Omar reported this broad concern to me, when resolving a separate issue
>> with his custom module. CONFIG_X86_NATIVE_CPU=y allows builds to
>> opportunistically emit APX instructions when the build host supports APX
>> since the commit.
> 
> I think this sentence may be cut? I guess this refers to the commit in
> the Fixes tag.


Yes, I intended “the commit” to refer to the one in the Fixes: tag. To 
make it explicit, I can add the commit back here:

   ea1dcca1de12 ("x86/kbuild/64: Add the CONFIG_X86_NATIVE_CPU ...")


>> For Rust, APX must be explicitly disabled because any backend supporting
>> APX may otherwise emit APX instructions with target-cpu=native. Pass
>> features=-apxf through the generated JSON to avoid unstable-feature
>> warnings.
> 
> So, just to confirm: is Rust 1.88 (with a new enough LLVM) enough to
> avoid the warnings? Maybe a link to the tracking issue would be nice:
> 
>    https://github.com/rust-lang/rust/issues/139284


Passing `-apxf` through the generated target JSON avoids this warning:

warning: unstable feature specified for `-Ctarget-feature`: `apxf`
   |
   = note: this feature is not stably supported; its behavior can change 
in the future

I’ll add the link to reference the status of the Rust support. Thanks.

>> Support for this gating also depends on the Rust/LLVM combination. Rust
>> 1.88 introduced the `apxf` feature option, but versions prior to 1.93 may
>> emit an `apxf` attribute which LLVM 23 or later can interpret. Restrict
>> native Rust builds accordingly.
>>
>> Fixes: ea1dcca1de12 ("x86/kbuild/64: Add the CONFIG_X86_NATIVE_CPU option to locally optimize the kernel with '-march=native'")
> 
> This looks like it exists in 6.18.y+, so I assume this should have:
> 
> Cc: [email protected]

Yes, I have included it.

Thanks,
Chang
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.