https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Jakub Jelinek from comment #2) > So, one problem here is that the debug marker for line 33 is moved by sched2 > too early (unnecessarily), before the prologue, before statement frontiers > introduction we'd break only after the prologue. > Perhaps we should tweak the scheduler so that it attempts harder not to move > debug markers before the prologue, unless really necessary? > > And another bug which I'll try to fix is that the .debug_frame generated > with -fdwarf2-cfi-asm is wrong on the very first insn in the interrupt > function, for -fno-dwarf2-cfi-asm it is right. Apparently the interrupt > attribute functions have CFI with a different initial offset, the CIE with > -fdwarf2-cfi-asm has initial offset of cfa-8 like normal functions, and > right after the very first insn in the interrupt function fn, which is a > push, the offset becomes cfa-24, > while with -fno-dwarf2-cfi-asm we start with cfa-16 in the CIE and after the > push get cfa-16. Is this related to PR 81570?