This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/4] 'catch syscall' feature


Hi Michael,

This set of patches is applying cleanly for me on HEAD. Got the patches
out of the mailing list and applied them with no problems.

Regards,
Luis

On Wed, 2008-10-01 at 16:51 -0700, Michael Snyder wrote:
> Hi Sergio,
> 
> AFAIK, we're still using the CVS repository as the official source
> repo.  I don't use git.  We also ask that patches be relative to
> the current top-of-tree.
> 
> However, I've done my best to massage your patch into the current
> cvs tree.  I'm attaching a CVS diff based on my best effort.  Please
> let me know if you can spot any mistakes.
> 
> I was able to build this, but it failed your test case
> (thanks very much for including a test case, by the way).
> I'm attaching my failing gdb.log.
> 
> I want to thank you for the contribution while strongly
> encouraging you to resubmit it relative to CVS HEAD.
> 
> Michael
> 
> SÃrgio Durigan JÃnior wrote:
> > Hi Michael,
> > 
> > IMHO, the patch won't apply on CVS HEAD indeed. Also, I've used git to
> > generate it, so it might be easy for you to get the specific revision to
> > apply my patch.
> > 
> > The revision is: 337099393e64741ed0fbbb8c60ca3f6adb5d5974
> > 
> > You can easily checkout a copy of it by doing:
> > 
> > #> git clone git://sourceware.org/git/gdb.git
> > #> git reset --hard 337099393e64741ed0fbbb8c60ca3f6adb5d5974
> > 
> > Then the patch should apply without errors.
> > 
> > Well, to make things a little easier, that's the last ChangeLog entry
> > before mine:
> > 
> > 2008-09-27  Tom Tromey  <tromey@redhat.com>
> > 
> >         * NEWS: Update.
> >         * macrocmd.c (extract_identifier): Add is_parameter argument.
> >         (macro_define_command): Update.
> >         (macro_undef_command): Likewise.
> >         * macroexp.c (stringify): New function.
> >         (find_parameter): Likewise.
> >         (gather_arguments): Add nargs argument.  Handle varargs.
> >         (substitute_args): Add is_varargs and va_arg_name arguments.
> >         Handle varargs, splicing, stringification.  Use find_parameter.
> >         (expand): Handle varargs.
> > 
> > 
> > Hope that it helps :-).
> > 
> > Regards,
> > 
> > On Wed, 2008-10-01 at 15:38 -0700, Michael Snyder wrote:
> >> 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
> >>>
> >>>
> > --
> > SÃrgio Durigan JÃnior
> > Linux on Power Toolchain - Software Engineer
> > Linux Technology Center - LTC
> > IBM Brazil


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]