[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