[LEDE-DEV] [PATCH] toolchain: add musl libc.so to external toolchain

Florian Fainelli f.fainelli at gmail.com
Tue Mar 14 10:34:12 PDT 2017


On 03/14/2017 10:28 AM, Hauke Mehrtens wrote:
> On 2017-03-14 18:20, Florian Fainelli wrote:
>> On 03/14/2017 05:28 AM, hauke.mehrtens at intel.com wrote:
>>> From: Hauke Mehrtens <hauke.mehrtens at intel.com>
>>>
>>> musl provides a /lib/libc.so file which should be integrated into the
>>> libc
>>> package when the external toolchain with musl is used.
>>>
>>> Signed-off-by: Hauke Mehrtens <hauke.mehrtens at intel.com>
>>> ---
>>>  package/libs/toolchain/Makefile | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/package/libs/toolchain/Makefile
>>> b/package/libs/toolchain/Makefile
>>> index 8a90b5e..09c576d 100644
>>> --- a/package/libs/toolchain/Makefile
>>> +++ b/package/libs/toolchain/Makefile
>>> @@ -164,7 +164,7 @@ define Package/libc/config
>>>          string
>>>          prompt "libc shared library files (use wildcards)"
>>>          depends on EXTERNAL_TOOLCHAIN && PACKAGE_libc
>>> -        default "./lib/ld{*.so*,-linux*.so.*}
>>> ./lib/lib{anl,c,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so.*}"
>>>
>>> +        default "./lib/ld{*.so*,-linux*.so.*}
>>> ./lib/lib{anl,c,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so.*}
>>> ./lib/libc.so"
>>
>> Why not change just the last part of the wildcard from: {-*.so,.so.*}
>> into {-*.so,.so.*,.so*} or even {*.so,.so.*}?
> 
> {-*.so,.so.*,.so*} should also work, I will change to that.
> 
> {*.so,.so.*} will add more files:
> $ ls -al lib/libc{*.so,.so.*}
> lib/libc.so
> lib/libcc1.so -> libcc1.so.0.0.0
> 
> A little bit offtopic.
> With LEDE 17.01 branch this is sufficient to use a external musl
> toolchain, on the master branch the Linux kernel will not build because
> it has some problems with the includes, it looks like it gets more
> includes than the kernel wants. When I modify the wrapper file manually
> and remove all the extra gcc options the kernel and all the other stuff
> compiles fine.

Well, there are a ton of issues with upstream kernels that do not have
patched kernel headers, especially in the area of networking
definitions, I saw you submitted fixes for that a short while ago, but I
also met some issues with building netifd's system-linux.c (related).

What extra GCC option is causing problems for you here? Is your
precompiled musl library available somewhere? The one I use is
stbgcc-4.8 (old) which can be found here:

https://github.com/Broadcom/stbgcc-4.8/releases/download/stbgcc-4.8-1.6/stbgcc-4.8-1.6.tar.bz2
-- 
Florian



More information about the Lede-dev mailing list