From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24044 invoked by alias); 5 Aug 2004 20:17:26 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 24030 invoked from network); 5 Aug 2004 20:17:25 -0000 Received: from unknown (HELO mail-out3.apple.com) (17.254.13.22) by sourceware.org with SMTP; 5 Aug 2004 20:17:25 -0000 Received: from mailgate2.apple.com (a17-128-100-204.apple.com [17.128.100.204]) by mail-out3.apple.com (8.12.11/8.12.11) with ESMTP id i75KIgMH012604 for ; Thu, 5 Aug 2004 13:18:42 -0700 (PDT) Received: from relay4.apple.com (relay4.apple.com) by mailgate2.apple.com (Content Technologies SMTPRS 4.3.6) with ESMTP id ; Thu, 5 Aug 2004 13:17:24 -0700 Received: from [17.201.22.21] (moleja.apple.com [17.201.22.21]) by relay4.apple.com (8.12.11/8.12.11) with ESMTP id i75KHMH7008817; Thu, 5 Aug 2004 13:17:23 -0700 (PDT) In-Reply-To: <4F2AF76A-E71B-11D8-B4BD-000A9569836A@apple.com> References: <4F2AF76A-E71B-11D8-B4BD-000A9569836A@apple.com> Mime-Version: 1.0 (Apple Message framework v670) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <890A6444-E71C-11D8-B4BD-000A9569836A@apple.com> Cc: Jim Blandy , Mark Kettenis , Eli Zaretskii , Devang Patel Content-Transfer-Encoding: 7bit From: Jason Molenda Subject: Re: RFA/patch stabs reader: Recognize language hint in SO stab Date: Thu, 05 Aug 2004 20:17:00 -0000 To: gdb-patches@sources.redhat.com X-SW-Source: 2004-08/txt/msg00138.txt.bz2 I knew I forgot something: Testing. I tested the patch on an x86 Linux box with gcc 3.4.0 with -gstabs+; there was no change with or without the patch. The compiler wasn't setting the desc field in the SO stabs, of course, so I made a small C++ program #include int foo (int a); int main() { int a = 10; std::cout << "hi there" << a << std::endl; return foo (a); } int foo (int a) { return a + 5; } called "a.c", and modified the stabs by hand to .file "a.c" .stabs "/tmp/",100,0,0,.Ltext0 .stabs "a.c",100,0,4,.Ltext0 The value 4 is N_SO_CC. Without this change, this is what gdb looks like: (gdb) b foo Breakpoint 1 at 0x80488ed: file a.c, line 13. (gdb) r Starting program: /tmp/a.out hi there10 Breakpoint 1, _Z3fooi (a=10) at a.c:14 14 return a + 5; (gdb) With this change, we get (gdb) b foo Breakpoint 1 at 0x80488ed: file a.c, line 14. (gdb) r Starting program: /tmp/a.out hi there10 Breakpoint 1, foo (a=10) at a.c:14 14 return a + 5; Current language: auto; currently c++ (gdb) Huzzah. (obviously this is just an example of incorrect behavior -- when you're working with real C++ code the inability to detect the fact that it's a C++ program causes all sorts of problems.) J