[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 Richard Biener changed: What|Removed |Added Target Milestone|--- |8.0
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Status|UNCONFIRMED |NEW Last reconfirmed||2018-01-15 Ever confirmed|0 |1 --- Comment #1 from Richard Biener --- Confirmed, I'm also seeing those.
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- 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.
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 --- Comment #3 from Jakub Jelinek --- That latter bug has been introduced with PR79793.
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 --- Comment #4 from H.J. Lu --- (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?
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 Jakub Jelinek changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek --- Created attachment 43174 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43174&action=edit gcc8-pr83728.patch Untested fix. Apparently the bug is in there even with -fno-dwarf2-cfi-asm, in short, in both cases there is just one set of initial cfi insns in the CIE(s), and furthermore GAS has it hardcoded when using .cfi_startproc. So, if some function needs a different initial offset, it needs to emit a CFI insn for that at the start of the function.
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 --- Comment #6 from H.J. Lu --- *** Bug 81570 has been marked as a duplicate of this bug. ***
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Fri Jan 19 22:36:04 2018 New Revision: 256904 URL: https://gcc.gnu.org/viewcvs?rev=256904&root=gcc&view=rev Log: PR debug/81570 PR debug/83728 * dwarf2cfi.c (DEFAULT_INCOMING_FRAME_SP_OFFSET): Define to INCOMING_FRAME_SP_OFFSET if not defined. (scan_trace): Add ENTRY argument. If true and DEFAULT_INCOMING_FRAME_SP_OFFSET != INCOMING_FRAME_SP_OFFSET, emit a note to adjust the CFA offset. (create_cfi_notes): Adjust scan_trace callers. (create_cie_data): Use DEFAULT_INCOMING_FRAME_SP_OFFSET rather than INCOMING_FRAME_SP_OFFSET in the CIE. * config/i386/i386.h (DEFAULT_INCOMING_FRAME_SP_OFFSET): Define. * config/stormy16/stormy16.h (DEFAULT_INCOMING_FRAME_SP_OFFSET): Likewise. * doc/tm.texi.in (DEFAULT_INCOMING_FRAME_SP_OFFSET): Document. * doc/tm.texi: Regenerated. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.h trunk/gcc/config/stormy16/stormy16.h trunk/gcc/doc/tm.texi trunk/gcc/doc/tm.texi.in trunk/gcc/dwarf2cfi.c
[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83728 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #8 from Jakub Jelinek --- Fixed.