From: Rich Felker <dalias@libc.org>
To: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: musl@lists.openwall.com
Subject: Re: Broken GCC versions: 4.8.2 and 4.9.0
Date: Sun, 11 May 2014 12:19:43 -0400 [thread overview]
Message-ID: <20140511161943.GR26358@brightrain.aerifal.cx> (raw)
In-Reply-To: <20140511181020.0a8b66f1@free-electrons.com>
On Sun, May 11, 2014 at 06:10:20PM +0200, Thomas Petazzoni wrote:
> Dear Rich Felker,
>
> On Sat, 10 May 2014 21:05:03 -0400, Rich Felker wrote:
>
> > It's come to my attention that GCC versions 4.8.2 and 4.9.0 are
> > performing invalid optimizations that result in a broken musl
> > libc.a/libc.so. It's not clear yet whether there's a good workaround,
> > or whether we should attempt to work around the problem, so for now,
> > please just be aware that these versions of GCC cannot be used to
> > compile musl. Using them to compile programs against musl should not
> > be a problem. I'll post more details later. The short version is that
> > it's making incorrect assumptions about the reachability of global
> > variables that have a local weak definition and an external strong
> > one.
>
> Hum, interesting. I've recently tested gcc 4.8.2 + musl on ARM, and gcc
> 4.9.0 + musl on i386, and I could boot a minimal musl+Busybox system
> under Qemu perfectly fine. Maybe the problem you refer to only affects
> certain parts of libc.a/libc.so?
I've filed the bug report which you can see here:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61144
Something like the following command should confirm whether your build
is affected:
nm src/stdio/fflush.o | grep stdout
For broken gcc versions, there is no output. For non-broken ones, you
should see something like:
00000000 V __stdout_used
Note that fflush(0) is just one place where the behavior may be
affected by the invalid optimization. There are at least several
others, though at a glance the others are more likely to be affected
only with heavy inlining (but in principle, they "should" be affected
even without inlining as long as inter-procedural optimizations are
performed).
Rich
next prev parent reply other threads:[~2014-05-11 16:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-11 1:05 Rich Felker
2014-05-11 16:10 ` Thomas Petazzoni
2014-05-11 16:19 ` Rich Felker [this message]
2014-05-11 18:46 ` James Cloos
2014-05-11 19:03 ` Rich Felker
2014-05-11 20:08 ` James Cloos
2014-05-11 21:20 ` Rich Felker
2014-05-12 1:23 ` Stephen Thomas
2014-05-12 9:28 ` Natanael Copa
2014-05-12 14:30 ` Anthony G. Basile
2014-05-14 7:49 ` Natanael Copa
2014-05-12 12:13 ` Rich Felker
2014-05-12 13:49 ` Thorsten Glaser
2014-05-12 13:56 ` James Cloos
2014-05-11 20:20 ` Matias A. Fonzo
2014-05-15 4:45 ` Rich Felker
2014-05-19 0:47 ` Rich Felker
2014-05-19 11:47 ` Szabolcs Nagy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140511161943.GR26358@brightrain.aerifal.cx \
--to=dalias@libc.org \
--cc=musl@lists.openwall.com \
--cc=thomas.petazzoni@free-electrons.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).