http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51744
Mark Pizzolato <mark at infocomm dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mark at infocomm dot com --- Comment #3 from Mark Pizzolato <mark at infocomm dot com> 2012-10-23 16:43:01 UTC --- This may be a bug in gcc OR the linker. I don't know, BUT I have a more precise description of the issue and a much simpler minimal test case. The problem occurs when all of the following conditions are true: 1) gcc is invoked with -O2 and -flto 2) memset is called with a non-constant length argument 3) memset is called with a NON zero fill value argument. The minimal test case is: #include <string.h> void main (int argc, char **argv) { char buf[5000]; memset (buf, 0xFF, argc); } To conform to the bug submission guidelines, the preprocessed file for the this test is attached.