From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/2042 Path: news.gmane.org!not-for-mail From: Brian Wang Newsgroups: gmane.linux.lib.musl.general Subject: Re: musl for ARM Date: Wed, 3 Oct 2012 00:05:52 +0800 Message-ID: References: <506AC81F.7090709@barfooze.de> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=20cf3071cc683fb4be04cb15b211 X-Trace: ger.gmane.org 1349193975 24117 80.91.229.3 (2 Oct 2012 16:06:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 2 Oct 2012 16:06:15 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-2043-gllmg-musl=m.gmane.org@lists.openwall.com Tue Oct 02 18:06:20 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1TJ4z4-0000pv-OV for gllmg-musl@plane.gmane.org; Tue, 02 Oct 2012 18:06:10 +0200 Original-Received: (qmail 3334 invoked by uid 550); 2 Oct 2012 16:06:05 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 3324 invoked from network); 2 Oct 2012 16:06:04 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=MkRAydwhRCrCkP5r/jnb0Mk2D6NMsi1GQ8F3bjsMrd4=; b=j3EHMD7O5ymoJqNE+ztEaT9JURDvZhfc/nJ1gYp/Y1TtYa7WWWkmdbLFIE0+Z3m2W1 ZsCmGmpGdueaJv9/jW37qBzy2+eFkUIw1ike9qYs3ysa/L8/JwNbHgXAbjHTmKaQyXTp khkX5bs1Mc2ZTPzsshy4NSjQ2oWLjdz4KOoZ8/AproG4x91uiqRERPl3lZ92v05hEh3f YdiX5IXoWphUZhM/0Vf5amGgGLSpByb0HgX6gngWdEnB/LBc7mKPILz7+y0q5O0pXxSo 3nGEum3Vhu5RqnM/pFoj6bj96uefDH9UpaLHjcPXH48IuU5ctCeZB2Wnm8v+49v5lrHu Rqxw== In-Reply-To: <506AC81F.7090709@barfooze.de> Xref: news.gmane.org gmane.linux.lib.musl.general:2042 Archived-At: --20cf3071cc683fb4be04cb15b211 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Oct 2, 2012 6:46 PM, "John Spencer" wrote: > > 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: > https://github.com/rofl0r/gettext-tiny > 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. > I do need a working gettext support. I will definitely take a look at the tiny gettext implementation. Thank you for the info. > >> * 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. Cool. The boost in the app startup time makes musl worth the try. Does sabotage work as a cross development platform? > > >> 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 =E2=80=98fd_set=E2=80=99 >> 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 =E2=80=98fd_set=E2=80=99 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): > https://github.com/rofl0r/sabotage/blob/master/pkg/busybox > I will try to play with it after my sleep. It is midnight in Taiwan right now. :-) > there's also a prebuilt armv7l rootfs available on that site, check README on the repo for info. > > ok. i will skip this since my device is only an armv5te box. --20cf3071cc683fb4be04cb15b211 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Oct 2, 2012 6:46 PM, "John Spencer" <maillist-musl@barfooze.de> wrote:
>
> On 10/02/2012 09:27 AM, Brian Wang wrote:
>>
>> Hello all,
>>
>> I am currently thinking of switching to musl from glibc for my tar= get
>> after some readings on musl.
>> I would like some advice from musl experts:
>> =C2=A0 =C2=A0* 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:
> https://github.com/= rofl0r/gettext-tiny
> 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.
>

I do need a working gettext support.=C2=A0 I will definitely take a look= at the tiny gettext implementation.=C2=A0 Thank you for the info.

>
>> =C2=A0 =C2=A0* Does it _boost_ the performance on a 400MHz arm926 = device? =C2=A0Or it
>> is just smaller?
>> =C2=A0 =C2=A0 =C2=A0By _boost_, I mean if the user can actually fe= el 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 s= ystem takes ~2MB RAM, including kernel.

Cool.=C2=A0 The boost in the app startup time makes musl worth the try.<= /p>

Does sabotage work as a cross development platform?

>
>
>> I did try the musl cross project and successfully built a musl-bas= ed
>> arm linux toolchain.
>> My kernel (2.6.24) was built successfully (not tried it on my devi= ce yet).
>> However, when building busybox, there are some header files clashe= s,
>> 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,
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fro= m 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 =E2=80=98fd_set=E2=80=99
>> 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,
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fro= m include/libbb.h:45,
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fro= m 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 =E2=80=98fd_set=E2=80=99 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 (a= t least with kernel 3.0+ headers):
> =C2=A0https://github.com/rofl0r/sabotage/blob/master/pkg/busybox
>

I will try to play with it after my sleep.=C2=A0 It is midnight in Taiwa= n right now. :-)

> there's also a prebuilt armv7l rootfs available on that site, c= heck README on the repo for info.
>
>
ok.=C2=A0 i will skip this since my device is only an armv5te box.

--20cf3071cc683fb4be04cb15b211--