[Bug debug/83728] [8 regression] FAIL: gcc.dg/guality/pr68037-1.c

2018-01-08 Thread rguenth at gcc dot gnu.org
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

2018-01-15 Thread rguenth at gcc dot gnu.org
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

2018-01-18 Thread jakub at gcc dot gnu.org
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

2018-01-18 Thread jakub at gcc dot gnu.org
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

2018-01-18 Thread hjl.tools at gmail dot com
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

2018-01-18 Thread jakub at gcc dot gnu.org
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

2018-01-18 Thread hjl.tools at gmail dot com
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

2018-01-19 Thread jakub at gcc dot gnu.org
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

2018-01-19 Thread jakub at gcc dot gnu.org
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.