http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46097
--- Comment #9 from Jeffrey Walton <noloader at gmail dot com> 2010-10-21 15:04:44 UTC --- (In reply to comment #4) > I had a look at Cryptopp-SO-Test-1.zip > > building on 32-bit I can reproduce a segfault > > it doesn't build on 64-bit at all: > > 1) you can insert a pointer into an ostream without casting to int (and if you > insist on casting, do it to a type that has the same size as a pointer!) > > 2) that makefile doesn't compile dsotest-1.o and dsotest-2.o with -fPIC > > To get it build I had to edit the code and the makefile, and after doing so it > doesn't crash. And with the same changes, it doesn't crash on 32-bit either. > > So are you sure this isn't just user error? > > I can see some value in the warning you want, but it's not going to help if > you > don't use the compiler correctly (maybe I'm being unfair and you're using it > correctly for 32-bit, but my first instinct is that if it fails to build for a > different target then *something* is wrong!) Another person just got bit by the C++ global/shared object bug. See "Global variable in static library - double free or corruption error" by Alexey Skidanov. It so 'fresh' that it has not been indexed yet - so I can't provide a link.