Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Vladimir Prus <ghost@cs.msu.su>
Cc: Greg Law <glaw@undo-software.com>, gdb-patches@sources.redhat.com
Subject: Re: SIGSEGV on gdb 6.7*
Date: Thu, 28 Feb 2008 14:17:00 -0000	[thread overview]
Message-ID: <20080228141700.GB8988@caradoc.them.org> (raw)
In-Reply-To: <E1JUczR-0000Y4-Px@zigzag.lvk.cs.msu.su>

On Thu, Feb 28, 2008 at 10:15:35AM +0300, Vladimir Prus wrote:
> This patch cause testsuite regressions for me, as follows:
> 
>         FAIL: gdb.base/annota1.exp: continue to printf
>         FAIL: gdb.base/annota1.exp: send SIGUSR1
>         FAIL: gdb.base/annota1.exp: signal sent
>         FAIL: gdb.cp/annota2.exp: continue to exit
>         FAIL: gdb.cp/annota2.exp: watch triggered on a.x
> 
> This is Kubuntu 7.10 Gutsy, and gcc version is:
> 
>         gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
> 
> JFYI -- I'm not sure we should bother about annotations.

My fault.  These are easy to fix, as attached.  I'll check this in shortly.

-- 
Daniel Jacobowitz
CodeSourcery

2008-02-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* frame.c (reinit_frame_cache): Only annotate if frames were
	previously valid.

2008-02-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* gdb.base/annota1.exp, gdb.cp/annota2.exp: Update for fewer
	frames-invalid annotations.

Index: frame.c
===================================================================
RCS file: /cvs/src/src/gdb/frame.c,v
retrieving revision 1.236
diff -u -p -r1.236 frame.c
--- frame.c	1 Jan 2008 22:53:09 -0000	1.236
+++ frame.c	28 Feb 2008 14:15:46 -0000
@@ -1079,9 +1079,11 @@ reinit_frame_cache (void)
   obstack_free (&frame_cache_obstack, 0);
   obstack_init (&frame_cache_obstack);
 
+  if (current_frame != NULL)
+    annotate_frames_invalid ();
+
   current_frame = NULL;		/* Invalidate cache */
   select_frame (NULL);
-  annotate_frames_invalid ();
   if (frame_debug)
     fprintf_unfiltered (gdb_stdlog, "{ reinit_frame_cache () }\n");
 }
Index: testsuite/gdb.base/annota1.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/annota1.exp,v
retrieving revision 1.27
diff -u -p -r1.27 annota1.exp
--- testsuite/gdb.base/annota1.exp	26 Feb 2008 08:14:11 -0000	1.27
+++ testsuite/gdb.base/annota1.exp	28 Feb 2008 14:15:46 -0000
@@ -149,7 +149,7 @@ gdb_expect {
 set binexp [string_to_regexp $binfile]
 send_gdb "run\n"
 gdb_expect {
-    -re "\r\n\032\032post-prompt\r\nStarting program: $binexp \(\r\n\r\n\032\032frames-invalid\)+\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n\032\032starting\(\r\n\r\n\032\032frames-invalid\)+\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n\032\032breakpoint 1\r\n\r\nBreakpoint 1, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*annota1.c\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$main_line\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped.*$gdb_prompt$" {
+    -re "\r\n\032\032post-prompt\r\nStarting program: $binexp \(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)+\r\n\r\n\032\032starting\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n\032\032breakpoint 1\r\n\r\nBreakpoint 1, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*annota1.c\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$main_line\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped.*$gdb_prompt$" {
 	pass "run until main breakpoint" 
     }
     -re ".*$gdb_prompt$" { 
@@ -466,7 +466,7 @@ if [target_info exists gdb,nosignals] {
     setup_xfail hppa*-*-hpux11*
     send_gdb "signal SIGTRAP\n"
     gdb_expect {
-      -re ".*\032\032post-prompt\r\nContinuing with signal SIGTRAP.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032signalled\r\n\r\nProgram terminated with signal \r\n\032\032signal-name\r\nSIGTRAP\r\n\032\032signal-name-end\r\n, \r\n\032\032signal-string\r\nTrace.breakpoint trap\r\n\032\032signal-string-end\r\n.\r\nThe program no longer exists.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
+      -re ".*\032\032post-prompt\r\nContinuing with signal SIGTRAP.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032signalled\r\n\r\nProgram terminated with signal \r\n\032\032signal-name\r\nSIGTRAP\r\n\032\032signal-name-end\r\n, \r\n\032\032signal-string\r\nTrace.breakpoint trap\r\n\032\032signal-string-end\r\n.\r\nThe program no longer exists.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
 	      { pass "signal sent" }
       -re ".*$gdb_prompt$" { fail "signal sent" }
       timeout { fail "signal sent (timeout)" }
Index: testsuite/gdb.cp/annota2.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/annota2.exp,v
retrieving revision 1.9
diff -u -p -r1.9 annota2.exp
--- testsuite/gdb.cp/annota2.exp	1 Jan 2008 22:53:19 -0000	1.9
+++ testsuite/gdb.cp/annota2.exp	28 Feb 2008 14:15:46 -0000
@@ -122,7 +122,7 @@ gdb_expect {
 #
 send_gdb "continue\n"
 gdb_expect {
-  -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\na.x is 1\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032exited 0\r\n\r\nProgram exited normally.\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
+  -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\na.x is 1\r\n\r\n\032\032exited 0\r\n\r\nProgram exited normally.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
 	  { pass "continue until exit" }
   -re ".*$gdb_prompt$"     { fail "continue to exit" }
   timeout	            { fail "continue to exit (timeout)" }


  reply	other threads:[~2008-02-28 14:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-04 20:50 Greg Law
2008-02-04 21:04 ` Daniel Jacobowitz
2008-02-04 21:39   ` Greg Law
     [not found]   ` <47A7850B.10202@undo-software.com>
2008-02-04 21:45     ` Daniel Jacobowitz
2008-02-04 21:59       ` Greg Law
2008-02-04 22:11         ` Daniel Jacobowitz
2008-02-04 22:36           ` Greg Law
2008-02-11 20:59             ` Greg Law
2008-02-26 23:00 ` Michael Snyder
2008-02-27  0:37   ` Daniel Jacobowitz
2008-02-27  0:43     ` Michael Snyder
2008-02-27  0:51       ` Daniel Jacobowitz
2008-02-27  0:54         ` Michael Snyder
2008-02-27  1:05           ` Daniel Jacobowitz
2008-02-27  1:08             ` Michael Snyder
2008-02-27 20:23               ` Greg Law
2008-02-28  7:46                 ` Vladimir Prus
2008-02-28 14:17                   ` Daniel Jacobowitz [this message]
2008-02-28 14:17                   ` Thiago Jung Bauermann
2008-02-28 16:18                     ` Daniel Jacobowitz
2008-03-04 20:09               ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080228141700.GB8988@caradoc.them.org \
    --to=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=ghost@cs.msu.su \
    --cc=glaw@undo-software.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox