From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/7381 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Summary of recent changes, ssp-libc support! Date: Mon, 13 Apr 2015 20:38:50 -0400 Message-ID: <20150414003850.GA5920@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1428971950 847 80.91.229.3 (14 Apr 2015 00:39:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 14 Apr 2015 00:39:10 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-7394-gllmg-musl=m.gmane.org@lists.openwall.com Tue Apr 14 02:39:09 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1Yhosf-0003Sb-Lk for gllmg-musl@m.gmane.org; Tue, 14 Apr 2015 02:39:09 +0200 Original-Received: (qmail 32121 invoked by uid 550); 14 Apr 2015 00:39:07 -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 32093 invoked from network); 14 Apr 2015 00:39:03 -0000 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:7381 Archived-At: 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 f3ddd173806fd5c60b3f034528ca24542aecc5b9. 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 possible. 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 libc.so is a slight increase, but I'm working on a setup for (optionally, if the compiler supports it) building libc.so with protected visibility, which gives a significant size reduction and speed increase. Rich