https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114357
LIU Hao <lh_mouse at 126 dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lh_mouse at 126 dot com --- Comment #10 from LIU Hao <lh_mouse at 126 dot com> --- For a multithread program (LLD for example), returning from `main()` or calling `exit()` while there are still active threads, but without causing access to destroyed static objects, might be impractical. In addition, code for 'complete' termination (depending on how 'complete' it is defined) might be subject to deadlocks and might not be well tested. Therefore it's a reasonable choice to call `quick_exit()` without shutting down all other threads. Then destructors of static objects are all dead code that should be eliminated.