Makefile: Make sure ld is always aware of the target abi/emulation
authorNick Kossifidis <mickflemm@gmail.com>
Thu, 14 Feb 2019 03:37:13 +0000 (05:37 +0200)
committerAnup Patel <anup@brainfault.org>
Fri, 15 Feb 2019 03:25:45 +0000 (08:55 +0530)
commit286b80768beb16130f869877875af2f581439b2b
tree581cf5ed12134713b9c34d1cd16c4b420f793ed9
parent35e617385f5c6278ee83434b9594d07731993742
Makefile: Make sure ld is always aware of the target abi/emulation

On Makefile merge_objs calls ld without providing any hints
on the target so on a multilib toolchain for example it will
always pick the default one (elf64-littleriscv) which will
then result a failure when compiling on RV32 since the objects
will be 32bits and the target will be 64bits. The same happens
on compile_ld that calls gcc without CFLAGS so it doesn't
get mabi/march.

With this patch OpenSBI compiles on RV32 (PLATFORM_RISCV_XLEN=32),
I tested fw_jump.elf on qemu (but it doesn't boot the kernel yet
-bbl also doesn't boot the kernel so it may be something else).

Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Makefile