From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6620 invoked by alias); 1 Oct 2008 22:40:00 -0000 Received: (qmail 6279 invoked by uid 22791); 1 Oct 2008 22:39:57 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-2.vmware.com (HELO smtp-outbound-2.vmware.com) (65.115.85.73) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 01 Oct 2008 22:39:22 +0000 Received: from mailhost5.vmware.com (mailhost5.vmware.com [10.16.68.131]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id 32FA34610D; Wed, 1 Oct 2008 15:39:21 -0700 (PDT) Received: from [10.20.92.59] (promb-2s-dhcp59.eng.vmware.com [10.20.92.59]) by mailhost5.vmware.com (Postfix) with ESMTP id 2404DDC0BF; Wed, 1 Oct 2008 15:39:21 -0700 (PDT) Message-ID: <48E3FBE1.9030800@vmware.com> Date: Wed, 01 Oct 2008 22:40:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: =?ISO-8859-1?Q?S=E9rgio_Durigan_J=FAnior?= CC: "gdb-patches@sourceware.org" Subject: Re: [PATCH 0/4] 'catch syscall' feature References: <1222798405.30389.22.camel@miki> In-Reply-To: <1222798405.30389.22.camel@miki> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-10/txt/msg00038.txt.bz2 Hi Sergio, What source tree or snapshot is your diff taken from? I tried applying it to current cvs, and got a lot of failures and fuzzes. Sérgio Durigan Júnior wrote: > Hello guys, > > As this is my first "serious" patch to GDB, I'm sure there will be a lot > of mistakes in it :-). Anyway, I hope this adds something useful to the > program. > > The purpose of this patch is to implement a new feature in GDB called > "catch syscall". In this first moment, the feature should look something > like the 'strace' utility, but less "capable" (it still can't, for > example, get the syscall arguments and return code - although, the way I > see, this would be easy to do). > > With this feature, you can start over you GDB and tell it to start > catching syscalls in the inferior. Whenever a syscall is called (or > returns), GDB stops and tell you the name of it. You can also ask GDB to > "filter" the syscalls so that you'll only see calls/returns from that > specific syscall. > > For now the feature is only implemented for PPC32 and PPC64, but in a > future not so distant I intend to send patches for x86 and x86_64 too. > > I've tried to organize the code the best way I could, and I've > extensively used the codes for "catch fork", "catch exec" and "catch > unload" as an example. I'd be glad if you could give some opinions about > the way I did it :-). > > I've also splitted the patch into 4 logical "sequences", that are > organized in this way: > > - First part implements the architecture-independent part of the > feature. > - Second part implements the architecture-dependent (PPC32 and PPC64) > part of the feature. > - Third part refers to the documentation. > - Fourth part brings the testcase. > > Unfortunately, if one applies the patch and compiles GDB for PPC64, it > doesn't work properly. This is due to a bug which we have found that > makes the inferior segfault when there is a breakpoint inserted at its > entrypoint (AT_ENTRY). Luis Machado is taking a closer look into this > issue, so I think he'll have a solution soon :-). > > Special thanks goes to Thiago Bauermann, Luis Machado and Carlos Seo, > who helped me a lot with my never-ending questions about GDB. > > Regards, > > -- > Sérgio Durigan Júnior > Linux on Power Toolchain - Software Engineer > Linux Technology Center - LTC > IBM Brazil > >