[U-Boot] [PATCH] riscv: add Kconfig entries for the F and D ISA extensions support

Bin Meng bmeng.cn at gmail.com
Fri May 24 09:40:08 UTC 2019


Hi Eric,

On Fri, May 24, 2019 at 4:04 PM Eric Lin <dslin1010 at gmail.com> wrote:
>
> Hi Bin
>
> Bin Meng <bmeng.cn at gmail.com> 於 2019年5月22日 週三 下午5:25寫道:
> >
> > Hi Eric,
> >
> > On Wed, May 22, 2019 at 4:23 PM <tesheng at andestech.com> wrote:
> > >
> > > Hi Bin,
> > >
> > > > -----Original Message-----
> > > > From: Bin Meng [mailto:bmeng.cn at gmail.com]
> > > > Sent: Tuesday, May 21, 2019 3:56 PM
> > > > To: Eric Te-Sheng Lin(林德晟)
> > > > Cc: U-Boot Mailing List; Lukas Auer; Anup Patel; Rick Jian-Zhi Chen(陳建志);
> > > > Greentime Ying-Han Hu(胡英漢); dslin1010 at gmail.com
> > > > Subject: Re: [PATCH] riscv: add Kconfig entries for the F and D ISA extensions
> > > > support
> > > >
> > > > Hi Eric,
> > > >
> > > > On Tue, May 21, 2019 at 3:18 PM Eric Lin <tesheng at andestech.com> wrote:
> > > > >
> > > > > This patch add Kconfig entries for the F (Single-Precision)
> > > >
> > > > adds
> > > >
> > >
> > > OK I'll correct it as adds
> > >
> > > > > and D (Double-Precision) floating point instruction-set extensions.
> > > > >
> > > >
> > > > Could you please provide reason that why U-Boot has to be compiled using F/D
> > > > extension?
> > > >
> > >
> > > Cause on AE350 platform, we have two different kinds of toolchain v5d (support I/M/A/C/F/D ISA) and
> > > v5 (support I/M/A/C ISA). If we use the v5d toolchain to build U-Boot it will build fail, so we would like to add F/D extension on U-Boot.
> >
> > I don't understand. What difference do these two toochains have? Isn't
> > the v5d toolchain's default -march string be pre-configured to imafd?
> > But even if the toolchain is pre-configured to generate fd
> > instruction, I think it can be override by the compiler flags. Can you
> > please share the details of the toolchain you used? I suspect you have
> > to fix your toolchain, not U-Boot.
> >
>
> It's seems the ABI issue. Because our toolchain don't support
> multilib, the v5d toolchain libraries ABI is ilp64d.
> If I use the v5d toolchain to build U-Boot with -mabi=lp64, it will
> get link error as below:

Then please fix your compiler. Passing -mabi=lp64 to compiler is
definitely correct.

> ...
> riscv64-linux-ld.bfd:
> /nds64le-linux-glibc-v5d/bin/../lib/gcc/riscv64-linux/7.3.0/libgcc.a(save-restore.o):
> can't link double-float modules with soft-float modules
> riscv64-linux-ld.bfd: failed to merge target specific data of file
> /nds64le-linux-glibc-v5d/bin/../lib/gcc/riscv64-linux/7.3.0/libgcc.a(save-restore.o)
> examples/standalone/Makefile:62: recipe for target
> 'examples/standalone/hello_world' failed
> ...
>
> so we would like to override the compiler flag mabi to lp64d.

No, adding this to U-Boot is a workaround to your compiler.

Regards,
Bin


More information about the U-Boot mailing list