Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 02 Oct 2012 12:55:27 +0200
From: John Spencer <>
Subject: Re: musl for ARM

On 10/02/2012 09:27 AM, Brian Wang wrote:
> Hello all,
> I am currently thinking of switching to musl from glibc for my target
> after some readings on musl.
> I would like some advice from musl experts:
>    * Does it support gettext stuff?

musl has no libintl built-in, but i put together a replacement that is 
capable of building all packages relying on the gettext tools:
at this point, all it does is echo the passed translation string back; 
i.e. everything's english.
however you can compile gnu gettext just fine, if you want to spend 40+ 
min on its compilation.

>    * Does it _boost_ the performance on a 400MHz arm926 device?  Or it
> is just smaller?
>      By _boost_, I mean if the user can actually feel the improvement
> in performance.

it will definitely boost shell performance, in that it has a far lower 
syscall overhead on startup. configure scripts run up to 4x as fast.
also, memory usage will be much smaller. a booted up x86_64 sabotage 
system takes ~2MB RAM, including kernel.

> I did try the musl cross project and successfully built a musl-based
> arm linux toolchain.
> My kernel (2.6.24) was built successfully (not tried it on my device yet).
> However, when building busybox, there are some header files clashes,
> resulting in conflicting types.
> An example of it:
> ---------------------
> In file included from
> /opt/cross/arm-linux-musleabi/lib/gcc/arm-linux-musleabi/4.7.1/../../../../arm-linux-musleabi/include/linux/kd.h:3:0,
>                   from console-tools/kbd_mode.c:23:
> /opt/cross/arm-linux-musleabi/lib/gcc/arm-linux-musleabi/4.7.1/../../../../arm-linux-musleabi/include/linux/types.h:12:26:
> error: conflicting types for ‘fd_set’
> In file included from
> /opt/cross/arm-linux-musleabi/lib/gcc/arm-linux-musleabi/4.7.1/../../../../arm-linux-musleabi/include/sys/time.h:9:0,
>                   from include/libbb.h:45,
>                   from console-tools/kbd_mode.c:22:
> /opt/cross/arm-linux-musleabi/lib/gcc/arm-linux-musleabi/4.7.1/../../../../arm-linux-musleabi/include/sys/select.h:25:3:
> note: previous declaration of ‘fd_set’ was here
> ---------------------

the problem here seems to be the inclusion of

linux/types.h, not GCC-related headers.

here's a busybox build recipe that's known to work with ARM (at least with kernel 3.0+ headers):

there's also a prebuilt armv7l rootfs available on that site, check README on the repo for info.

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.