Re: [PATCH] rust: Fix enabling Rust and building with GCC for LoongArch

From: Xi Ruoyao
Date: Tue Mar 04 2025 - 02:49:57 EST


On Tue, 2025-03-04 at 15:35 +0800, WANG Rui wrote:
> This patch fixes a build issue on LoongArch when Rust is enabled and
> compiled with GCC by explicitly setting the bindgen target and skipping
> C flags that Clang doesn't support.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: WANG Rui <wangrui@xxxxxxxxxxx>
> ---
>  rust/Makefile | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/rust/Makefile b/rust/Makefile
> index ea3849eb78f6..2c57c624fe7d 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -232,7 +232,8 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
>   -mfunction-return=thunk-extern -mrecord-mcount -mabi=lp64 \
>   -mindirect-branch-cs-prefix -mstack-protector-guard% -mtraceback=no \
>   -mno-pointers-to-nested-functions -mno-string \
> - -mno-strict-align -mstrict-align \
> + -mno-strict-align -mstrict-align -mdirect-extern-access \
> + -mexplicit-relocs -mno-check-zero-division \

Hmm I'm wondering if we can just drop -mno-check-zero-division from
cflags-y: for all GCC releases it's the default at either -O2 or -Os,
and AFAIK we don't support other optimization levels.

--
Xi Ruoyao <xry111@xxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University