https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64953
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |trippels at gcc dot gnu.org --- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- (In reply to manuel.reimer from comment #0) > After some trying I've found out that the key in this case is the > optimization setting. If I use "-O3", then the resulting binary works again > if I use the 4.9.2 compiler. > > So "something" is wrong with the optimization. > > Can someone give me a hint about what changed between 4.8 and 4.9.2? Is this > a bug in the gcc compiler or do I just need some new "compiler switch" to > disable "some new feature" and get a valid binary, again? Try to narrow the issue down to a single source file. Once you have found the file in question, you may narrow the problem down to a single function by using __attribute__((optimize("-Os"))). You could also try to build the application with -fsanitize=undefined and see if any issue pops up.