https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91763
--- Comment #2 from Ian Lance Taylor <ian at airs dot com> --- I see now the fact that we are using exceptions is already being passed. The problem seems to be that flag_exceptions is set when we read an exception region from an input function, by lto_init_eh. But before we read any of the input functions, lto_main has already called symtab->compile which has called (*debug_hooks->assembly_start) which has checked flag_exceptions when deciding whether to emit a .cfi_sections directive. So although flag_exceptions does get set, it gets set too late to fix this problem.