Re: [PATCH] rust: Fix enabling Rust and building with GCC for LoongArch
From: Huacai Chen
Date: Tue Mar 04 2025 - 04:14:23 EST
On Tue, Mar 4, 2025 at 3:49 PM Xi Ruoyao <xry111@xxxxxxxxxxx> wrote:
>
> 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.
Don't rely on default behavior, things may change in future.
Acked-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>
>
> --
> Xi Ruoyao <xry111@xxxxxxxxxxx>
> School of Aerospace Science and Technology, Xidian University