Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 30 Jan 2014 10:00:10 -0500
From: "Anthony G. Basile" <>
Subject: Re: yet another alternative libc

On 01/30/2014 01:06 AM, Rich Felker wrote:
> On Wed, Jan 29, 2014 at 04:19:49PM -0500, Anthony G. Basile wrote:
>> Hi everyone,
>> I just thought I'd let everyone know that I've built a musl stage4
>> for amd64 and put it on the mirrors [1].  If you don't know about
>> musl, you can read about it here [2].  Its yet another libc which
>> aims to be a slim and fast.
> Glad to hear you're at the point of announcing this!

Or more to the point, releasing it in usable form ;)

>> I've got a stage4 (kinda/sorta).  It is not made using catalyst but
>> rather starts from a musl chroot and builds a new chroot using a
>> ROOT=rootfs emerge -ev @system technique.  The scripts are on the
>> releng repo [3].  Right now there are lots of packages which do not
>> immediately build with musl.  Mostly these are due to header
>> locations, gnu-isms, gnulib (which assumes way too much about
>> internal implementations) and at least one bug in musl or gcc
>> (depending on who you ask --- exit() compiled with
>> --stack-protector-all).  The patches are on the hardened-dev::musl
>> overlay [4].  They are "quickies" and may need work if any are to go
>> upstream.
>> A few points about the stage: 1) it doesn't use busybox for its core
>> utilities.  I like a robust native development environment from
>> which you can build.  2) Despite the fact that the profile is under
>> hardened, it is still a vanilla stage.  I'm working on getting it
>> hardened, but a few packages break when we turn on pie, ssp, relro
>> and/or bind_now.
> A few notes from our side (musl) regardinging your status for
> hardening:
> 1. relro is presently not supported in musl, but it's just a no-op
> (the relro range will remain writable after relocations) so it
> shouldn't hurt to turn it on.
> 2. musl doesn't support lazy binding at all (and won't), so whether or
> not you turn on bind_now at the linker level, it's always in effect.

I don't think relro or bind_now are causing the issues I hit, but I 
didn't investigate enough.  Right now I'm "entertaining" myself by 
building up that stage into a usable desktop.  But soon I will run a 
full rebuild with hardening and see what happens.  The biggest show 
stopper was gcc itself could not rebuild itself, ie, gentoo's vanilla 
gcc can build our hardened gcc which "works" but cannot in turn build 
hardened gcc again.  I will provide details.

> 3. We're interested in any reports of problems with PIE and SSP. The
> issue of SSP not getting initialized in tiny (configure-script-test
> sized) programs that don't reference __stack_chk_fail is known, but
> any other SSP-related problems would likely be something new we should
> check out.

I will certainly report.  I assume the list is fine?

> Rich

Anthony G. Basile, Ph. D.
Chair of Information Technology
D'Youville College
Buffalo, NY 14201
(716) 829-8197

Powered by blists - more mailing lists

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