* [Bug debug/47471] [4.6 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
@ 2011-02-13 17:44 ` jsm28 at gcc dot gnu.org
2011-02-13 17:53 ` jsm28 at gcc dot gnu.org
` (23 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2011-02-13 17:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Joseph S. Myers <jsm28 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.6.0
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
2011-02-13 17:44 ` [Bug debug/47471] [4.6 Regression] " jsm28 at gcc dot gnu.org
@ 2011-02-13 17:53 ` jsm28 at gcc dot gnu.org
2011-03-25 20:02 ` [Bug debug/47471] [4.6/4.7 " jakub at gcc dot gnu.org
` (22 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2011-02-13 17:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Joseph S. Myers <jsm28 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
2011-02-13 17:44 ` [Bug debug/47471] [4.6 Regression] " jsm28 at gcc dot gnu.org
2011-02-13 17:53 ` jsm28 at gcc dot gnu.org
@ 2011-03-25 20:02 ` jakub at gcc dot gnu.org
2011-03-28 20:11 ` dodji at gcc dot gnu.org
` (21 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-03-25 20:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.0 |4.6.1
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-03-25 19:52:47 UTC ---
GCC 4.6.0 is being released, adjusting target milestone.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (2 preceding siblings ...)
2011-03-25 20:02 ` [Bug debug/47471] [4.6/4.7 " jakub at gcc dot gnu.org
@ 2011-03-28 20:11 ` dodji at gcc dot gnu.org
2011-03-29 15:48 ` dodji at gcc dot gnu.org
` (20 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: dodji at gcc dot gnu.org @ 2011-03-28 20:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Dodji Seketeli <dodji at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2011.03.28 19:46:26
CC|dodji at gcc dot gnu.org |
AssignedTo|unassigned at gcc dot |dodji at gcc dot gnu.org
|gnu.org |
Ever Confirmed|0 |1
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (3 preceding siblings ...)
2011-03-28 20:11 ` dodji at gcc dot gnu.org
@ 2011-03-29 15:48 ` dodji at gcc dot gnu.org
2011-03-29 17:52 ` jan.kratochvil at redhat dot com
` (19 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: dodji at gcc dot gnu.org @ 2011-03-29 15:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
--- Comment #2 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-03-29 15:24:07 UTC ---
I believe the issue is that for that source code, GCC emits two
identical .loc asm directives for line 3. In theory I don't thing
doing that would be wrong.
But in practise the second .loc directive triggers a special opcode in
the generated line program that increments the line with an increment
of zero; it also increments the current program address with a
increment of zero. And that happens before the first line that
doesn't belong to the prologue.
That seems to break GDB's heuristic, and is also a bit of bloat.
The patch below avoids emitting two identical consecutive line number
debug information and seems to fix the issue for me. I am currently
regression-testing it.
>From eb1450a263a4e50b43132ef9b914f49a971c8e9d Mon Sep 17 00:00:00 2001
From: Dodji Seketeli <dodji@redhat.com>
Date: Tue, 29 Mar 2011 16:56:20 +0200
Subject: [PATCH] PR debug/47471
gcc/
* dwarf2out.c (dwarf2out_source_line): Avoid emitting two
identical contiguous .loc asm directive.
gcc/testsuite/
* gcc.dg/debug/dwarf2/line-prog-1.c: New test.
---
gcc/dwarf2out.c | 33 +++++++++++++++-------
gcc/testsuite/gcc.dg/debug/dwarf2/line-prog-1.c | 25 +++++++++++++++++
2 files changed, 47 insertions(+), 11 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/debug/dwarf2/line-prog-1.c
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7803ab7..b350f43 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -22068,6 +22068,8 @@ dwarf2out_source_line (unsigned int line, const char
*filename,
&& line != 0)
{
int file_num = maybe_emit_file (lookup_filename (filename));
+ static int prev_file_num;
+ static unsigned int prev_line;
switch_to_section (current_function_section ());
@@ -22078,19 +22080,28 @@ dwarf2out_source_line (unsigned int line, const char
*filename,
if (DWARF2_ASM_LINE_DEBUG_INFO)
{
- /* Emit the .loc directive understood by GNU as. */
- fprintf (asm_out_file, "\t.loc %d %d 0", file_num, line);
- if (is_stmt != last_is_stmt)
+ static int prev_file_num;
+ static unsigned int prev_line;
+ if (prev_file_num != file_num
+ || prev_line != line)
{
- fprintf (asm_out_file, " is_stmt %d", is_stmt ? 1 : 0);
- last_is_stmt = is_stmt;
- }
- if (SUPPORTS_DISCRIMINATOR && discriminator != 0)
- fprintf (asm_out_file, " discriminator %d", discriminator);
- fputc ('\n', asm_out_file);
+ /* Emit the .loc directive understood by GNU as. */
+ fprintf (asm_out_file, "\t.loc %d %d 0", file_num, line);
+ if (is_stmt != last_is_stmt)
+ {
+ fprintf (asm_out_file, " is_stmt %d", is_stmt ? 1 : 0);
+ last_is_stmt = is_stmt;
+ }
+ if (SUPPORTS_DISCRIMINATOR && discriminator != 0)
+ fprintf (asm_out_file, " discriminator %d", discriminator);
+ fputc ('\n', asm_out_file);
+
+ /* Indicate that line number info exists. */
+ line_info_table_in_use++;
- /* Indicate that line number info exists. */
- line_info_table_in_use++;
+ prev_file_num = file_num;
+ prev_line = line;
+ }
}
else if (function_section (current_function_decl) != text_section)
{
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/line-prog-1.c
b/gcc/testsuite/gcc.dg/debug/dwarf2/line-prog-1.c
new file mode 100644
index 0000000..63637dc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/line-prog-1.c
@@ -0,0 +1,25 @@
+/*
+ Origin: PR debug/47471
+ { dg-options "-g -dA" }
+ */
+
+int v;
+void f (int i, ...)
+{
+ v++;
+}
+
+int
+main (void)
+{
+ f (1);
+ return 0;
+}
+
+/* We want to have only one .loc directive that points to the opening
+ curly bracket of the definition of function f, at line 8. */
+
+/*
+ { dg-final { scan-assembler-times "\.loc 1 8 0" 1 } }
+
+ */
--
1.7.3.4
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (4 preceding siblings ...)
2011-03-29 15:48 ` dodji at gcc dot gnu.org
@ 2011-03-29 17:52 ` jan.kratochvil at redhat dot com
2011-03-29 18:09 ` jan.kratochvil at redhat dot com
` (18 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jan.kratochvil at redhat dot com @ 2011-03-29 17:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
--- Comment #3 from Jan Kratochvil <jan.kratochvil at redhat dot com> 2011-03-29 17:35:43 UTC ---
(In reply to comment #2)
The patch has regressions, even against: GNU C 4.6.1 20110329 (prerelease)
One of many:
-PASS: gdb.base/break.exp: run until quoted breakpoint
+FAIL: gdb.base/break.exp: run until quoted breakpoint
0000000000400783 <marker2>:
int marker2 (a) int a; { return (1); } /* set breakpoint 9 here */
400783: 55 push %rbp
400784: 48 89 e5 mov %rsp,%rbp
400787: 89 7d fc mov %edi,-0x4(%rbp)
40078a: b8 01 00 00 00 mov $0x1,%eax
40078f: 5d pop %rbp
400790: c3 retq
FSF GCC correctly sets the prologue line boundary:
- Special opcode 104: advance Address by 7 to 0x400783 and Line by 1 to 47
- Special opcode 103: advance Address by 7 to 0x40078a and Line by 0 to 47
- Special opcode 104: advance Address by 7 to 0x400791 and Line by 1 to 48
but the patched FSF GCC does not:
+ Special opcode 160: advance Address by 11 to 0x400783 and Line by 1 to 47
+ Special opcode 202: advance Address by 14 to 0x400791 and Line by 1 to 48
GCC could also start emitting DW_LNS_set_prologue_end (GDB cannot parse it yet,
though) instead of these line number magics. Unfortunately the prologue end is
still needed for GDB as during -O0 -g the VTA is not in effect and
<50a> DW_AT_location : 2 byte block: 91 6c (DW_OP_fbreg: -20)
is in such case invalid at the entry PC (0x400783).
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (5 preceding siblings ...)
2011-03-29 17:52 ` jan.kratochvil at redhat dot com
@ 2011-03-29 18:09 ` jan.kratochvil at redhat dot com
2011-06-27 15:51 ` jakub at gcc dot gnu.org
` (17 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jan.kratochvil at redhat dot com @ 2011-03-29 18:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
--- Comment #4 from Jan Kratochvil <jan.kratochvil at redhat dot com> 2011-03-29 17:36:47 UTC ---
(In reply to comment #2)
Please always attach the patch(es), I have tested the patch you mailed me, not
the one copy-pasted here.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (6 preceding siblings ...)
2011-03-29 18:09 ` jan.kratochvil at redhat dot com
@ 2011-06-27 15:51 ` jakub at gcc dot gnu.org
2011-09-19 14:09 ` philipp at marek dot priv.at
` (16 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-06-27 15:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.1 |4.6.2
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-27 12:33:02 UTC ---
GCC 4.6.1 is being released.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (7 preceding siblings ...)
2011-06-27 15:51 ` jakub at gcc dot gnu.org
@ 2011-09-19 14:09 ` philipp at marek dot priv.at
2011-09-19 14:10 ` jan.kratochvil at redhat dot com
` (15 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: philipp at marek dot priv.at @ 2011-09-19 14:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
philipp at marek dot priv.at changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |philipp at marek dot
| |priv.at
--- Comment #6 from philipp at marek dot priv.at 2011-09-19 13:53:18 UTC ---
Is there a chance to get this fixed?
I've got a fair number of setups where GDB gets a number of breakpoints set on
startup, and some of these don't work anymore ...
I've got gcc=4:4.6.1-2 and gdb=7.3-1.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (8 preceding siblings ...)
2011-09-19 14:09 ` philipp at marek dot priv.at
@ 2011-09-19 14:10 ` jan.kratochvil at redhat dot com
2011-10-26 18:06 ` jakub at gcc dot gnu.org
` (14 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jan.kratochvil at redhat dot com @ 2011-09-19 14:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
--- Comment #7 from Jan Kratochvil <jan.kratochvil at redhat dot com> 2011-09-19 13:56:39 UTC ---
FYI a workaround is now checked in to FSF GDB HEAD:
http://sourceware.org/ml/gdb-patches/2011-09/msg00140.html
I confirm gdb-7.3 / 7.3.1 does not have the workaround and gdb-7.4 is far away.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (9 preceding siblings ...)
2011-09-19 14:10 ` jan.kratochvil at redhat dot com
@ 2011-10-26 18:06 ` jakub at gcc dot gnu.org
2012-03-01 15:15 ` jakub at gcc dot gnu.org
` (13 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-10-26 18:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.2 |4.6.3
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-10-26 17:13:46 UTC ---
GCC 4.6.2 is being released.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.6/4.7 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (10 preceding siblings ...)
2011-10-26 18:06 ` jakub at gcc dot gnu.org
@ 2012-03-01 15:15 ` jakub at gcc dot gnu.org
2013-04-12 15:18 ` [Bug debug/47471] [4.7/4.8/4.9 " jakub at gcc dot gnu.org
` (12 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-03-01 15:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.3 |4.6.4
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-03-01 14:38:52 UTC ---
GCC 4.6.3 is being released.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.7/4.8/4.9 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (11 preceding siblings ...)
2012-03-01 15:15 ` jakub at gcc dot gnu.org
@ 2013-04-12 15:18 ` jakub at gcc dot gnu.org
2013-12-03 16:46 ` psmith at gnu dot org
` (11 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-04-12 15:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.4 |4.7.4
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-12 15:17:00 UTC ---
GCC 4.6.4 has been released and the branch has been closed.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.7/4.8/4.9 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (12 preceding siblings ...)
2013-04-12 15:18 ` [Bug debug/47471] [4.7/4.8/4.9 " jakub at gcc dot gnu.org
@ 2013-12-03 16:46 ` psmith at gnu dot org
2014-06-12 13:49 ` [Bug debug/47471] [4.7/4.8/4.9/4.10 " rguenth at gcc dot gnu.org
` (10 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: psmith at gnu dot org @ 2013-12-03 16:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Paul Smith <psmith at gnu dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |psmith at gnu dot org
--- Comment #11 from Paul Smith <psmith at gnu dot org> ---
See also https://sourceware.org/bugzilla/show_bug.cgi?id=16280 which has a
repro case for C++ inline functions on x86_64 (very latest GCC 4.8.2 and GDB
7.6.1 releases).
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.7/4.8/4.9/4.10 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (13 preceding siblings ...)
2013-12-03 16:46 ` psmith at gnu dot org
@ 2014-06-12 13:49 ` rguenth at gcc dot gnu.org
2014-12-19 13:34 ` [Bug debug/47471] [4.8/4.9/5 " jakub at gcc dot gnu.org
` (9 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-06-12 13:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.7.4 |4.8.4
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
The 4.7 branch is being closed, moving target milestone to 4.8.4.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.8/4.9/5 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (14 preceding siblings ...)
2014-06-12 13:49 ` [Bug debug/47471] [4.7/4.8/4.9/4.10 " rguenth at gcc dot gnu.org
@ 2014-12-19 13:34 ` jakub at gcc dot gnu.org
2015-06-23 8:26 ` [Bug debug/47471] [4.8/4.9/5/6 " rguenth at gcc dot gnu.org
` (8 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-12-19 13:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.8.4 |4.8.5
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.8.4 has been released.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.8/4.9/5/6 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (15 preceding siblings ...)
2014-12-19 13:34 ` [Bug debug/47471] [4.8/4.9/5 " jakub at gcc dot gnu.org
@ 2015-06-23 8:26 ` rguenth at gcc dot gnu.org
2015-06-26 20:01 ` [Bug debug/47471] [4.9/5/6 " jakub at gcc dot gnu.org
` (7 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-23 8:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.8.5 |4.9.3
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
The gcc-4_8-branch is being closed, re-targeting regressions to 4.9.3.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.9/5/6 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (16 preceding siblings ...)
2015-06-23 8:26 ` [Bug debug/47471] [4.8/4.9/5/6 " rguenth at gcc dot gnu.org
@ 2015-06-26 20:01 ` jakub at gcc dot gnu.org
2015-06-26 20:31 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.9.3 has been released.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [4.9/5/6 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (17 preceding siblings ...)
2015-06-26 20:01 ` [Bug debug/47471] [4.9/5/6 " jakub at gcc dot gnu.org
@ 2015-06-26 20:31 ` jakub at gcc dot gnu.org
2021-05-14 9:46 ` [Bug debug/47471] [9/10/11/12 " jakub at gcc dot gnu.org
` (5 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.9.3 |4.9.4
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [9/10/11/12 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (18 preceding siblings ...)
2015-06-26 20:31 ` jakub at gcc dot gnu.org
@ 2021-05-14 9:46 ` jakub at gcc dot gnu.org
2021-06-01 8:05 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-05-14 9:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|8.5 |9.4
--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 8 branch is being closed.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [9/10/11/12 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (19 preceding siblings ...)
2021-05-14 9:46 ` [Bug debug/47471] [9/10/11/12 " jakub at gcc dot gnu.org
@ 2021-06-01 8:05 ` rguenth at gcc dot gnu.org
2022-05-27 9:34 ` [Bug debug/47471] [10/11/12/13 " rguenth at gcc dot gnu.org
` (3 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-06-01 8:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|9.4 |9.5
--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9.4 is being released, retargeting bugs to GCC 9.5.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [10/11/12/13 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (20 preceding siblings ...)
2021-06-01 8:05 ` rguenth at gcc dot gnu.org
@ 2022-05-27 9:34 ` rguenth at gcc dot gnu.org
2022-06-28 10:29 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
24 siblings, 0 replies; 26+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27 9:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|9.5 |10.4
--- Comment #22 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9 branch is being closed
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [10/11/12/13 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (21 preceding siblings ...)
2022-05-27 9:34 ` [Bug debug/47471] [10/11/12/13 " rguenth at gcc dot gnu.org
@ 2022-06-28 10:29 ` jakub at gcc dot gnu.org
2023-01-30 14:26 ` vries at gcc dot gnu.org
2023-02-01 7:09 ` jan at jankratochvil dot net
24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|10.4 |10.5
--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [10/11/12/13 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (22 preceding siblings ...)
2022-06-28 10:29 ` jakub at gcc dot gnu.org
@ 2023-01-30 14:26 ` vries at gcc dot gnu.org
2023-02-01 7:09 ` jan at jankratochvil dot net
24 siblings, 0 replies; 26+ messages in thread
From: vries at gcc dot gnu.org @ 2023-01-30 14:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Tom de Vries <vries at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vries at gcc dot gnu.org
--- Comment #24 from Tom de Vries <vries at gcc dot gnu.org> ---
I can reproduce this with gcc 4.8.5:
...
f:
.LFB0:
.file 1 "test.c"
.loc 1 3 0
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $60, %rsp
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L2
.loc 1 3 0
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L2:
movl %edi, -180(%rbp)
.loc 1 4 0
movl v(%rip), %eax
...
But with gcc 7.5.0, I get:
...
f:
.LFB0:
.file 1 "test.c"
.loc 1 3 0
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $72, %rsp
movl %edi, -180(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L3
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L3:
.loc 1 4 0
movl v(%rip), %eax
addl $1, %eax
movl %eax, v(%rip)
...
So, isn't this fixed?
^ permalink raw reply [flat|nested] 26+ messages in thread
* [Bug debug/47471] [10/11/12/13 Regression] stdarg functions extraneous too-early prologue end
2011-01-26 11:05 [Bug debug/47471] New: stdarg functions extraneous too-early prologue end jan.kratochvil at redhat dot com
` (23 preceding siblings ...)
2023-01-30 14:26 ` vries at gcc dot gnu.org
@ 2023-02-01 7:09 ` jan at jankratochvil dot net
24 siblings, 0 replies; 26+ messages in thread
From: jan at jankratochvil dot net @ 2023-02-01 7:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
Jan Kratochvil <jan at jankratochvil dot net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #25 from Jan Kratochvil <jan at jankratochvil dot net> ---
I confirm it is fixed with: gcc-12.2.1-4.fc36.x86_64
It would be nice to bisect why but I did not.
[0x00000038] Extended opcode 2: set Address to 0x401106
[0x00000043] Special opcode 7: advance Address by 0 to 0x401106 and Line by
2 to 3
[0x00000046] Advance PC by 85 to 0x40115b
[0x00000048] Special opcode 6: advance Address by 0 to 0x40115b and Line by
1 to 4
0000000000401106 <f>:
/home/jkratoch/t/gcc47471.c:3
401106: 55 push %rbp
401107: 48 89 e5 mov %rsp,%rbp
40110a: 48 83 ec 48 sub $0x48,%rsp
40110e: 89 bd 4c ff ff ff mov %edi,-0xb4(%rbp)
401114: 48 89 b5 58 ff ff ff mov %rsi,-0xa8(%rbp)
40111b: 48 89 95 60 ff ff ff mov %rdx,-0xa0(%rbp)
401122: 48 89 8d 68 ff ff ff mov %rcx,-0x98(%rbp)
401129: 4c 89 85 70 ff ff ff mov %r8,-0x90(%rbp)
401130: 4c 89 8d 78 ff ff ff mov %r9,-0x88(%rbp)
401137: 84 c0 test %al,%al
401139: 74 20 je 40115b <f+0x55>
40113b: 0f 29 45 80 movaps %xmm0,-0x80(%rbp)
40113f: 0f 29 4d 90 movaps %xmm1,-0x70(%rbp)
401143: 0f 29 55 a0 movaps %xmm2,-0x60(%rbp)
401147: 0f 29 5d b0 movaps %xmm3,-0x50(%rbp)
40114b: 0f 29 65 c0 movaps %xmm4,-0x40(%rbp)
40114f: 0f 29 6d d0 movaps %xmm5,-0x30(%rbp)
401153: 0f 29 75 e0 movaps %xmm6,-0x20(%rbp)
401157: 0f 29 7d f0 movaps %xmm7,-0x10(%rbp)
/home/jkratoch/t/gcc47471.c:4
40115b: 8b 05 bf 2e 00 00 mov 0x2ebf(%rip),%eax #
404020 <v>
^ permalink raw reply [flat|nested] 26+ messages in thread