public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/42782]  New: VTA missed location: parameter via stack
@ 2010-01-17 21:33 jan dot kratochvil at redhat dot com
  2010-01-17 23:23 ` [Bug debug/42782] " jan dot kratochvil at redhat dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: jan dot kratochvil at redhat dot com @ 2010-01-17 21:33 UTC (permalink / raw)
  To: gcc-bugs

gcc (GCC) 4.5.0 20100117 (experimental)
x86_64-unknown-linux-gnu running -m32
Reproduced on Fedora 12: gcc-4.4.2-20.fc12.x86_64
--------------------------------------------------------------------------------
extern void g (void);

int
f (int a)
{
  g ();

  return a;
}
--------------------------------------------------------------------------------
gcc -o 1.o -c -Wall 1.c -m32 -O1 -g -Wall
--------------------------------------------------------------------------------
   0:   55                      push   %ebp
   1:   89 e5                   mov    %esp,%ebp
   3:   83 ec 08                sub    $0x8,%esp
   6:   e8 fc ff ff ff          call   7 <f+0x7>
   b:   8b 45 08                mov    0x8(%ebp),%eax
   e:   c9                      leave  
   f:   c3                      ret    
--------------------------------------------------------------------------------
Contents of the .debug_info section:
 <2><40>: Abbrev Number: 3 (DW_TAG_formal_parameter)
    <41>   DW_AT_name        : a        
    <49>   DW_AT_location    : 0x38     (location list)

Contents of the .debug_loc section:
    Offset   Begin    End      Expression
    00000038 00000000 0000000a (DW_OP_fbreg: 0)
    00000038 <End of list>
--------------------------------------------------------------------------------
Offsets 0xb .. 0xf miss the A location.
The function must know it when it returns A.
--------------------------------------------------------------------------------
Practical impact:
Backtrace missed parameters of elf_lookup_lib_symbol() in:
https://bugzilla.redhat.com/show_bug.cgi?id=556310


-- 
           Summary: VTA missed location: parameter via stack
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: debug
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jan dot kratochvil at redhat dot com
GCC target triplet: i386-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug debug/42782] VTA missed location: parameter via stack
  2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
@ 2010-01-17 23:23 ` jan dot kratochvil at redhat dot com
  2010-01-18 10:14 ` [Bug debug/42782] [4.5 Regression] " jakub at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jan dot kratochvil at redhat dot com @ 2010-01-17 23:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jan dot kratochvil at redhat dot com  2010-01-17 23:23 -------
Noticed it is a regression against: gcc (GCC) 4.4.3 20100117 (prerelease)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
  2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
  2010-01-17 23:23 ` [Bug debug/42782] " jan dot kratochvil at redhat dot com
@ 2010-01-18 10:14 ` jakub at gcc dot gnu dot org
  2010-01-18 10:58 ` jakub at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-18 10:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2010-01-18 10:13 -------
Reproduced.  Works with -fno-var-tracking-assignments, and looks to be a
var-tracking.c problem - the testcase doesn't contain (and doesn't need to
contain) any DEBUG_INSNs.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |wrong-debug
           Priority|P3                          |P2
   Last reconfirmed|0000-00-00 00:00:00         |2010-01-18 10:13:58
               date|                            |
            Summary|VTA missed location:        |[4.5 Regression] VTA missed
                   |parameter via stack         |location: parameter via
                   |                            |stack
   Target Milestone|---                         |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
  2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
  2010-01-17 23:23 ` [Bug debug/42782] " jan dot kratochvil at redhat dot com
  2010-01-18 10:14 ` [Bug debug/42782] [4.5 Regression] " jakub at gcc dot gnu dot org
@ 2010-01-18 10:58 ` jakub at gcc dot gnu dot org
  2010-01-19  8:44 ` aoliva at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-18 10:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jakub at gcc dot gnu dot org  2010-01-18 10:57 -------
The problem is that dataflow_set_preserve_mem_locs and/or
dataflow_set_remove_mem_locs removes all MEMs (with the exception of those
referring to decl with 0 MEM_OFFSET in the first function) upon encountering a
CALL.  For parameters (ARG_POINTER_REGNUM based, or even
HARD_FRAME_POINTER_REGNUM based ones I believe) we don't need to remove them,
as long as the decl isn't addressable and thus the call shouldn't have modified
them.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
  2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
                   ` (2 preceding siblings ...)
  2010-01-18 10:58 ` jakub at gcc dot gnu dot org
@ 2010-01-19  8:44 ` aoliva at gcc dot gnu dot org
  2010-01-20 22:57 ` jakub at gcc dot gnu dot org
  2010-01-22 17:03 ` jakub at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: aoliva at gcc dot gnu dot org @ 2010-01-19  8:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from aoliva at gcc dot gnu dot org  2010-01-19 08:44 -------
Mine (testing a patch)


-- 

aoliva at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |aoliva at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
  2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
                   ` (3 preceding siblings ...)
  2010-01-19  8:44 ` aoliva at gcc dot gnu dot org
@ 2010-01-20 22:57 ` jakub at gcc dot gnu dot org
  2010-01-22 17:03 ` jakub at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-20 22:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2010-01-20 22:57 -------
Subject: Bug 42782

Author: jakub
Date: Wed Jan 20 22:57:20 2010
New Revision: 156092

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156092
Log:
        PR debug/42782
        * var-tracking.c: Include tree-flow.h.
        (mem_dies_at_call): New.
        (dataflow_set_preserve_mem_locs): Use it.
        (dataflow_set_remove_mem_locs): Likewise.
        (dump_var): Renamed from dump_variable.  Adjust all callers.
        (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
        * Makefile.in (var-tracking.o): Adjust deps.

        * gcc.dg/guality/pr42782.c: New.

Added:
    trunk/gcc/testsuite/gcc.dg/guality/pr42782.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/Makefile.in
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/var-tracking.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
  2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
                   ` (4 preceding siblings ...)
  2010-01-20 22:57 ` jakub at gcc dot gnu dot org
@ 2010-01-22 17:03 ` jakub at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-22 17:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jakub at gcc dot gnu dot org  2010-01-22 17:02 -------
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-01-22 17:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-17 21:33 [Bug debug/42782] New: VTA missed location: parameter via stack jan dot kratochvil at redhat dot com
2010-01-17 23:23 ` [Bug debug/42782] " jan dot kratochvil at redhat dot com
2010-01-18 10:14 ` [Bug debug/42782] [4.5 Regression] " jakub at gcc dot gnu dot org
2010-01-18 10:58 ` jakub at gcc dot gnu dot org
2010-01-19  8:44 ` aoliva at gcc dot gnu dot org
2010-01-20 22:57 ` jakub at gcc dot gnu dot org
2010-01-22 17:03 ` jakub at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).