http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618
--- Comment #2 from Török Edwin <edwintorok at gmail dot com> 2011-07-03 15:07:02 UTC --- (In reply to comment #1) > Ouch. I can see where it might be NULL… but in anal-C99 taking a pointer of > an object (&__dso_handle) can never be a NULL pointer, so GCC might, in a > very theoretical sense, be correct in optimising away this check. > > Does adding -fno-delete-null-pointer-checks to the compile options help? No, with -fno-delete-null-pointer-checks the 'beq' instruction is still deleted. -O1 works though.