https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101692
--- Comment #6 from Eugene Zhiganov <zed at lab127 dot karelia.ru> --- ... and there is another "interesting" observation... In one one of the programs there is a StageMachine instance, that catches SIGTERM and SIGINT and there is 'honest' reference to that instance in main(), but... * if compliled with -Os optimization flag, something absolutely unimaginable happens - this instance is destroyed by GC and what is interesting, this happens every time I run the program and it happens always after ~6 seconds after the start * if complied without -Os, everything is Ok. wonders will never cease, -Os is doing something very 'special'