On Fri, Apr 22, 2016 at 10:27:16AM +0200, parazyd wrote: > On Thu, 21 Apr 2016, Steven W. Scott wrote: > > Just curious, anyone else getting segfaults after compiling with gcc -O3 > > optimization flag on alpha 4? Same system, same code, same flags work ok > > on Wheezy. If I back down to -O2 no problems. > > > > I'm blaming gcc, but I was interested if anyone else had a similar > > experience or insight as to what might be the issue. > > Do you actually understand how optimization works? The bigger the level, > the more unsafe code you get, like you just got segfaults. Depending on > the program, one will take some max. level of optimization, but any > higher and it will break, like yours did.
While GCC is not totally bug-free and thus optimization errors do happen, in 99.9% cases it's a bug in the code you're compiling. Using any of canned optimization levels other than -Ofast, does not change the behaviour of any standards-compliant program. Unless you do something that won't be kept on a different architecture/different compiler, such as converting a pointer to int and using it as a non-opaque value, you will get the same result, just (hopefully) faster. So sorry, your program is likely bogus. There's a lot of tools that can help finding such errors, such as valgrind or -fsanitize=*. > Note how many more warnings you get on compilation as you get higher in > optimization level. That's a good thing -- the compiler analyzes the code deeper and thus is able to spot more suspicious things. -- A tit a day keeps the vet away. _______________________________________________ Dng mailing list [email protected] https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
