Message ID | 1409750954-3636-1-git-send-email-byj.tea@gmail.com |
---|---|
State | Superseded |
Headers | show |
Dear Bai Yingjie, On Wed, 3 Sep 2014 21:29:14 +0800, Bai Yingjie wrote: > Some external toolchain provides lib32-fp which supports FPU instructions > as well as lib32 in sys-root/usr, but lib32-fp can't be matched and > in consequence causes a compile error. > > The toolchain in this case is OCTEON mips64 toolchain, and the CFLAGS > cause the issue is -march=octeon3. > > This patch improves the matching by accepting lib(32|64)?([^/]*)? as lib > name. > > Signed-off-by: Bai Yingjie <byj.tea@gmail.com> Thanks for this contribution! Is this toolchain available publicly? The problem I have is that if the toolchain is not available, then we have no way to test if future changes to the external toolchain logic will not break the support for this toolchain. Thanks! Thomas
Hi Thomas, On Wed, Sep 3, 2014 at 3:41 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Dear Bai Yingjie, > > On Wed, 3 Sep 2014 21:29:14 +0800, Bai Yingjie wrote: >> Some external toolchain provides lib32-fp which supports FPU instructions >> as well as lib32 in sys-root/usr, but lib32-fp can't be matched and >> in consequence causes a compile error. >> >> The toolchain in this case is OCTEON mips64 toolchain, and the CFLAGS >> cause the issue is -march=octeon3. >> >> This patch improves the matching by accepting lib(32|64)?([^/]*)? as lib >> name. >> >> Signed-off-by: Bai Yingjie <byj.tea@gmail.com> > > Thanks for this contribution! Is this toolchain available publicly? The > problem I have is that if the toolchain is not available, then we have > no way to test if future changes to the external toolchain logic will > not break the support for this toolchain. The mentioned toolchain comes from Cavium Networks. You can find a public version of this toolchain here: http://www.cnusers.org/index.php?option=com_remository&Itemid=32&func=select&id=62 I don't think that this public toolchain is 100% identical to the one given to their (paying) customers, but I assume that the lib32-fp issue is the same. Best regards, Thomas
Hi Thomas, On Wed, Sep 3, 2014 at 10:20 PM, Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote: > Hi Thomas, > > On Wed, Sep 3, 2014 at 3:41 PM, Thomas Petazzoni > <thomas.petazzoni@free-electrons.com> wrote: >> Dear Bai Yingjie, >> >> On Wed, 3 Sep 2014 21:29:14 +0800, Bai Yingjie wrote: >>> Some external toolchain provides lib32-fp which supports FPU instructions >>> as well as lib32 in sys-root/usr, but lib32-fp can't be matched and >>> in consequence causes a compile error. >>> >>> The toolchain in this case is OCTEON mips64 toolchain, and the CFLAGS >>> cause the issue is -march=octeon3. >>> >>> This patch improves the matching by accepting lib(32|64)?([^/]*)? as lib >>> name. >>> >>> Signed-off-by: Bai Yingjie <byj.tea@gmail.com> >> >> Thanks for this contribution! Is this toolchain available publicly? The >> problem I have is that if the toolchain is not available, then we have >> no way to test if future changes to the external toolchain logic will >> not break the support for this toolchain. > > The mentioned toolchain comes from Cavium Networks. You can find a > public version of this toolchain here: > http://www.cnusers.org/index.php?option=com_remository&Itemid=32&func=select&id=62 > > I don't think that this public toolchain is 100% identical to the one > given to their (paying) customers, but I assume that the lib32-fp > issue is the same. I am very happy to get replied, thanks for your explanation.
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index b2957d9..dad000e 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -436,13 +436,13 @@ endef # Returns the sysroot location for the given compiler + flags define toolchain_find_sysroot -$$(echo -n $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:(usr/)?lib(32|64)?/([^/]*/)?libc\.a::') +$$(echo -n $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:(usr/)?lib(32|64)?([^/]*)?/([^/]*/)?libc\.a::') endef # Returns the lib subdirectory for the given compiler + flags (i.e # typically lib32 or lib64 for some toolchains) define toolchain_find_libdir -$$(echo -n $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:.*/(usr/)?(lib(32|64)?)/([^/]*/)?libc.a:\2:') +$$(echo -n $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:.*/(usr/)?(lib(32|64)?([^/]*)?)/([^/]*/)?libc.a:\2:') endef # Checks for an already installed toolchain: check the toolchain
Some external toolchain provides lib32-fp which supports FPU instructions as well as lib32 in sys-root/usr, but lib32-fp can't be matched and in consequence causes a compile error. The toolchain in this case is OCTEON mips64 toolchain, and the CFLAGS cause the issue is -march=octeon3. This patch improves the matching by accepting lib(32|64)?([^/]*)? as lib name. Signed-off-by: Bai Yingjie <byj.tea@gmail.com> --- toolchain/toolchain-external/toolchain-external.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)