Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130801002756.GA20164@brightrain.aerifal.cx>
Date: Wed, 31 Jul 2013 20:27:56 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Warning: gcc 4.8.x may miscompile musl 0.9.12; workaround

Hi,

In connection to the discussion on ARM memcpy and GCC generating
an infinite-self-recursive memcpy, I've now had at least one report of
the issue affecting memset too. The relevant GCC ticket is:

http://gcc.gnu.org/bugzilla//show_bug.cgi?id=56888

The problem occurred with GCC 4.8.1 on x86_64. I'm not sure which
archs are affected, but as memset is a widely-used function, you'll
know right away if you are affected.

The problem seems to coincide with commit
a80847d86a8865a78fdbebe7f9e2533f7a74e010, which added the ability
(enabled by default) to compile certain parts of musl selectively with
the -O3 optimization level; string functions are included by default.

Passing --enable-optimize=fast to configure is an easy workaround for
the problem. Another solution may be to add custom CFLAGS containing
-fno-tree-loop-distribute-patterns as suggested in the GCC tracker
thread.

Note that earlier versions of musl are also affected if you manually
enable -O3.

This will definitely be fixed in the next release, even though it's
really a GCC bug.

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.