From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bin Meng Date: Fri, 24 May 2019 17:40:08 +0800 Subject: [U-Boot] [PATCH] riscv: add Kconfig entries for the F and D ISA extensions support In-Reply-To: References: <20190521071814.1192-1-tesheng@andestech.com> <54C8F8126AB83D4A8C1399A6909A7A95EBA83B@ATCPCS16.andestech.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Eric, On Fri, May 24, 2019 at 4:04 PM Eric Lin wrote: > > Hi Bin > > Bin Meng 於 2019年5月22日 週三 下午5:25寫道: > > > > Hi Eric, > > > > On Wed, May 22, 2019 at 4:23 PM 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 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