From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16987 invoked by alias); 20 May 2011 02:06:10 -0000 Received: (qmail 16979 invoked by uid 22791); 20 May 2011 02:06:09 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from imr4.ericy.com (HELO imr4.ericy.com) (198.24.6.8) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 20 May 2011 02:05:55 +0000 Received: from eusaamw0711.eamcs.ericsson.se ([147.117.20.178]) by imr4.ericy.com (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id p4K25rL3032111 for ; Thu, 19 May 2011 21:05:54 -0500 Received: from EUSAACMS0703.eamcs.ericsson.se ([169.254.1.12]) by eusaamw0711.eamcs.ericsson.se ([147.117.20.178]) with mapi; Thu, 19 May 2011 22:05:47 -0400 From: Marc Khouzam To: "gdb@sourceware.org" Date: Fri, 20 May 2011 02:06:00 -0000 Subject: Regression loading a tracefile in 7_3 Message-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00102.txt.bz2 Hi, I believe I'm seeing a regression loading a tracefile in GDB 7.3 I create a simple tracefile using GDB/gdbserver 7.3 but when I try to load that tracefile, I get an error about "PC register is not available", which causes my Eclipse session to abort. This is not happening in 7.2 or 7.2.1. > gdb.7.3 a.out GNU gdb (GDB) 7.2.90.20110519-cvs (gdb) interpreter-exec mi "-target-select tfile trace.7.3" ~"Created tracepoint 1 for target's tracepoint 1 at 0x804851f.\n" ^error,msg=3D"PC register is not available" Things might be ok after that, meaning that tstatus seems ok, and tfind works ok. But the ^error reply is a problem. It's caused by a recent added check in regcache.c:regcache_read_pc () for the return value of regcache_cooked_read_unsigned() if (regcache_cooked_read_unsigned (regcache, gdbarch_pc_regnum (gdbarch), &raw_val) =3D=3D REG_UNAVAILABLE) throw_error (NOT_AVAILABLE_ERROR, _("PC register is not available")); I don't know if I'm doing something wrong, but I wanted to report it right away to avoid having a regression in the 7.3 release. Any help appreciated. Thanks Marc Below is how I created the trace file: > gdb.7.3 a.out GNU gdb (GDB) 7.2.90.20110519-cvs (gdb) target remote :9999 Remote debugging using :9999 Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...do= ne. Loaded symbols for /lib/ld-linux.so.2 0x00258850 in ?? () from /lib/ld-linux.so.2 (gdb) l 1 #include 2 #include 3 4 int main() { 5 int max =3D 9; 6 for (int i=3D0;icollect $locals >end (gdb) tstart (gdb) b 10 Breakpoint 2 at 0x8048553: file loopfirst.cc, line 10. (gdb) c Continuing. Breakpoint 2, main () at loopfirst.cc:10 10 return 0; (gdb) tstop (gdb) tstatus Trace stopped by a tstop command. Collected 9 trace frames. Trace buffer has 5239739 bytes of 5242880 bytes free (0% full). Trace will stop if GDB disconnects. Not looking at any trace frame. (gdb) tsave trace.7.3 Trace data saved to file 'trace.7.3'.