[PATCH] Makefile: Don't specify mabi or march
Alistair Francis
Alistair.Francis at wdc.com
Mon Oct 19 19:32:01 EDT 2020
On Tue, 2020-10-20 at 00:05 +0100, Jessica Clarke wrote:
> On 20 Oct 2020, at 00:02, Alistair Francis <alistair.francis at wdc.com>
> wrote:
> > On Mon, 2020-10-19 at 23:56 +0100, Jessica Clarke wrote:
> > > On 19 Oct 2020, at 23:41, Alistair Francis <
> > > alistair.francis at wdc.com>
> > > wrote:
> > > > To avoid
> > > > can't link double-float modules with soft-float modules
> > > > errors when building 32-bit openSBI don't specify mabi or
> > > > march.
> > >
> > > What happens if you want to build for a different ABI or ISA
> > > string
> > > deliberately? Especially with something like Clang where every
> > > compiler
> > > is a cross-compiler. Users should be able to specify an ABI or
> > > ISA
> > > string if they want and have it honoured, either via
> > > PLATFORM_RISCV_ABI/ISA or by using += for CFLAGS everywhere
> > > rather
> > > than
> > > overwriting it entirely (which is the more standard thing to do
> > > for
> > > software that isn't RISC-V-specific).
> >
> > A user could do that by specifying their own CFLAGS when building
> > to
> > allow them to specify a ISA or ABI.
>
> Makefile:196:CFLAGS = -g -Wall -Werror -ffreestanding
> -nostdlib -fno-strict-aliasing -O2
Ah, I didn't realise this. I'll change it to a +=
>
> That doesn't work so well with user-supplied CFLAGS.
>
> > Currently no platform set PLATFORM_RISCV_ABI as it defaults to
> > ilp32 or
> > lp64.
>
> We do. We have new ABIs for our extension (see cheri-cpu.org).
Ah ok. Maybe it's worth upstreamign the cheri implementaiton then?
Alistair
>
> > No platform also sets PLATFORM_RISCV_ISA which is always
> > rv32/64imafdc.
>
> We do.
>
> Jess
>
> > > > Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
> > > > ---
> > > > Makefile | 2 --
> > > > 1 file changed, 2 deletions(-)
> > > >
> > > > diff --git a/Makefile b/Makefile
> > > > index a231881..3f819d9 100644
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -196,7 +196,6 @@ GENFLAGS += $(firmware-genflags-y)
> > > > CFLAGS = -g -Wall -Werror -ffreestanding
> > > > -nostdlib
> > > > -fno-strict-aliasing -O2
> > > > CFLAGS += -fno-omit-frame-pointer -fno-optimize-
> > > > sibling-calls
> > > > CFLAGS += -mno-save-restore -mstrict-align
> > > > -CFLAGS += -mabi=$(PLATFORM_RISCV_ABI)
> > > > -march=$(PLATFORM_RISCV_ISA)
> > > > CFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL)
> > > > CFLAGS += $(GENFLAGS)
> > > > CFLAGS += $(platform-cflags-y)
> > > > @@ -210,7 +209,6 @@ CPPFLAGS += $(firmware-cppflags-y)
> > > > ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__
> > > > ASFLAGS += -fno-omit-frame-pointer -fno-optimize-
> > > > sibling-calls
> > > > ASFLAGS += -mno-save-restore -mstrict-align
> > > > -ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI)
> > > > -march=$(PLATFORM_RISCV_ISA)
> > > > ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL)
> > > > ASFLAGS += $(GENFLAGS)
> > > > ASFLAGS += $(platform-asflags-y)
> > > > --
> > > > 2.28.0
> > > >
> > > >
> > > > --
> > > > opensbi mailing list
> > > > opensbi at lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/opensbi
More information about the opensbi
mailing list