From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/10708 Path: news.gmane.org!.POSTED!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: ub fix in magenta Date: Sat, 5 Nov 2016 21:25:59 +0100 Message-ID: <20161105202558.GK5749@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1478377607 31877 195.159.176.226 (5 Nov 2016 20:26:47 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 5 Nov 2016 20:26:47 +0000 (UTC) User-Agent: Mutt/1.6.0 (2016-04-01) Cc: musl@lists.openwall.com To: George Kulakowski Original-X-From: musl-return-10721-gllmg-musl=m.gmane.org@lists.openwall.com Sat Nov 05 21:26:41 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1c37XZ-0004V3-UM for gllmg-musl@m.gmane.org; Sat, 05 Nov 2016 21:26:13 +0100 Original-Received: (qmail 14028 invoked by uid 550); 5 Nov 2016 20:26:14 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 13988 invoked from network); 5 Nov 2016 20:26:11 -0000 Mail-Followup-To: George Kulakowski , musl@lists.openwall.com Content-Disposition: inline Xref: news.gmane.org gmane.linux.lib.musl.general:10708 Archived-At: why do you think union based type punning is ub? are you compiling musl as c++ code? commit 224516687417d5e9dcbb0ba300c3e34bb47bb12b Author: George Kulakowski Date: 2016-10-19 17:11:59 -0700 [musl][malloc] Remove undefined behavior in malloc This bit of code computes an approximation to log2(x) by extracting the exponent from a float. Doing it via a union this way is bad, so memcpy instead. https://fuchsia.googlesource.com/magenta/+/224516687417d5e9dcbb0ba300c3e34bb47bb12b this makes implementation internals publicly visible, introduce paddings and whenever you need to add new fields you will have to break the abi again. note that the initializers are not valid c and thus non-conforming. commit c751172f029e96a3208b37da91fd9e020a792834 Author: George Kulakowski Date: 2016-10-13 21:31:24 -0700 [musl] Use a single proper struct definition for pthread types There is one slight change in layout here made for simplicity's sake. Upstream's pthread_barrier_t overlays the _b_count and _b_inst fields in the 32 bit case. Since this is so rarely used (in Fuchsia outside of libc I pretty much only see tsan, gdb etc. test cases), just do the simple thing. https://fuchsia.googlesource.com/magenta/+/c751172f029e96a3208b37da91fd9e020a792834 (i don't plan to review all changes i just wanted to see if there was anything useful in the magenta repo for musl, havent found much yet, but some of the changes could have been discussed upstream)