[PATCH] Makefile: Don't specify mabi or march
Jessica Clarke
jrtc27 at jrtc27.com
Mon Oct 19 19:05:07 EDT 2020
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
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).
> 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