[PATCH v3 1/2] Makefile: Fix -mno-save-restore compile warning with CLANG

Anup Patel anup at brainfault.org
Thu Dec 2 20:30:50 PST 2021


On Thu, Dec 2, 2021 at 7:58 PM Xiang W <wxjstz at 126.com> wrote:
>
> 在 2021-12-02星期四的 17:59 +0530,Anup Patel写道:
> > The riscv target of CLANG does not support -m(no-)save-restore option
> > so we get compile warnings. This patch fixes compile warning by using
> > -m(no-)save-restore option only for GCC.
> >
> > Signed-off-by: Anup Patel <anup.patel at wdc.com>
>
> ➜  /tmp clang -target riscv64 -mno-save-restore -O2 -S test.c
> ➜  /tmp clang -target riscv64 -msave-restore -O2 -S test.c
> ➜  /tmp clang --version
> Debian clang version 11.0.1-2
> Target: x86_64-pc-linux-gnu
> Thread model: posix
> InstalledDir: /usr/bin
> ➜  /tmp lsb_release -a
> No LSB modules are available.
> Distributor ID: Debian
> Description:    Debian GNU/Linux 11 (bullseye)
> Release:        11
> Codename:       bullseye
> ➜  /tmp
>
> clang supports -m(no-)save-restore option on my computer

I am using clang package available on Ubuntu-20.04 LTS which
is still at clang-10.

Regards,
Anup

>
> Regards,
> Xiang W
> > ---
> >  Makefile | 12 ++++++++----
> >  1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index 8623c1c..1e35dc0 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -275,8 +275,10 @@ GENFLAGS   +=      $(platform-genflags-y)
> >  GENFLAGS       +=      $(firmware-genflags-y)
> >
> >  CFLAGS         =       -g -Wall -Werror -ffreestanding -nostdlib -
> > fno-stack-protector -fno-strict-aliasing -O2
> > -CFLAGS         +=      -fno-omit-frame-pointer -fno-optimize-
> > sibling-calls
> > -CFLAGS         +=      -mno-save-restore -mstrict-align
> > +CFLAGS         +=      -fno-omit-frame-pointer -fno-optimize-
> > sibling-calls -mstrict-align
> > +ifneq ($(CC_IS_CLANG),y)
> > +CFLAGS         +=      -mno-save-restore
> > +endif
> >  CFLAGS         +=      -mabi=$(PLATFORM_RISCV_ABI) -
> > march=$(PLATFORM_RISCV_ISA)
> >  CFLAGS         +=      -mcmodel=$(PLATFORM_RISCV_CODE_MODEL)
> >  CFLAGS         +=      $(RELAX_FLAG)
> > @@ -290,8 +292,10 @@ CPPFLAGS   +=      $(platform-cppflags-y)
> >  CPPFLAGS       +=      $(firmware-cppflags-y)
> >
> >  ASFLAGS                =       -g -Wall -nostdlib
> > -ASFLAGS                +=      -fno-omit-frame-pointer -fno-
> > optimize-sibling-calls
> > -ASFLAGS                +=      -mno-save-restore -mstrict-align
> > +ASFLAGS                +=      -fno-omit-frame-pointer -fno-
> > optimize-sibling-calls -mstrict-align
> > +ifneq ($(CC_IS_CLANG),y)
> > +ASFLAGS                +=      -mno-save-restore
> > +endif
> >  ASFLAGS                +=      -mabi=$(PLATFORM_RISCV_ABI) -
> > march=$(PLATFORM_RISCV_ISA)
> >  ASFLAGS                +=      -mcmodel=$(PLATFORM_RISCV_CODE_MODEL)
> >  ASFLAGS                +=      $(RELAX_FLAG)
> > --
> > 2.25.1
> >
> >
>
>



More information about the opensbi mailing list