Date: Sun, 11 May 2014 12:19:43 -0400 From: Rich Felker <dalias@...c.org> To: Thomas Petazzoni <thomas.petazzoni@...e-electrons.com> Cc: musl@...ts.openwall.com Subject: Re: Broken GCC versions: 4.8.2 and 4.9.0 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
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.