Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 13 Apr 2015 20:38:50 -0400
From: Rich Felker <>
Subject: Summary of recent changes, ssp-libc support!

There've been a series of big changes in musl over the past few days.
Big in impact, that is; actually, the diffs ended up being a lot
smaller than I expected.

1. The dynamic linker has dropped a lot of assumptions; see the
   "Dynamic linker changes" mail thread for details, along with commit

2. Support for running without a thread pointer has been fully
   removed, completing phase 3 of the "Transition path for removing
   lazy init of thread pointer" project laid out during the 1.1.0
   release cycle. This removes a good bit of cruft/bloat. Removal was
   in commit 19a1fe670acb3ab9ead0fe31859ca7d4fe40dd54; the work that
   made it possible was in commit
   71f099cb7db821c51d8f39dfac622c61e54d794c and those leading up to
   it, including the dynamic linker work (see 1 above).

3. Building libc itself with stack protector is now possible! This was
   one of the big motivations for the above changes. Commit
   1ef849c6ec6a4e30badc844371cdf1b9eedfba57 put on the finishing
   touches, but it was really items 1 and 2 above that made it

Some future developments that could be built upon the above:

- Official, clean arch-agnostic support for static-PIE binaries.
- Eliminating the need for -Bsymbolic-functions.
- Possibly supporting symbol interposition in front of libc symbols.

Right now the net size difference for is a slight increase,
but I'm working on a setup for (optionally, if the compiler supports
it) building with protected visibility, which gives a
significant size reduction and speed increase.


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.