This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/4] catch syscall -- try 4 -- Architecture-independent part
- From: Daniel Jacobowitz <drow at false dot org>
- To: Sérgio Durigan Júnior <sergiodj at linux dot vnet dot ibm dot com>
- Cc: Pedro Alves <pedro at codesourcery dot com>, gdb-patches at sourceware dot org, teawater <teawater at gmail dot com>
- Date: Tue, 31 Mar 2009 11:44:52 -0400
- Subject: Re: [PATCH 1/4] catch syscall -- try 4 -- Architecture-independent part
- References: <1232929831.26873.22.camel@miki> <200901260053.06295.pedro@codesourcery.com> <1232945747.26873.27.camel@miki> <1232989355.26873.39.camel@miki> <20090201193306.GJ4597@caradoc.them.org> <1235561189.14363.20.camel@miki> <20090227221133.GA12904@caradoc.them.org> <1238352626.23609.14.camel@miki>
On Sun, Mar 29, 2009 at 03:50:26PM -0300, Sérgio Durigan Júnior wrote:
> ~"Catchpoint 1 (call to syscall 'chroot'), 0xffffe424 in
> __kernel_vsyscall ()\n"
> ~"0xffffe424 <__kernel_vsyscall+16>:\tpop %ebp\n"
> *stopped,frame={addr="0xffffe424",func="__kernel_vsyscall",args=[]},thread-id="1",stopped-threads="all"
> So, what do you think of it? Analyzing it, I think it's not so useful
> except for the (obvious) part ~"Catchpoint 1 ...".
Right. There ought to be a new reason="..." entry; search for
EXEC_ASYNC_BREAKPOINT_HIT. There should probably be some semantic
fields, too, like "old" for watchpoints.
> > > > > +# Fills the struct syscall (passed as argument) with the corresponding
> > > > > +# system call represented by syscall_number.
> > > > > +M:void:get_syscall_by_number:int syscall_number, struct syscall *s:syscall_number, s
> > > > > +
> > > > > +# Fills the struct syscall (passed as argument) with the corresponding
> > > > > +# system call represented by syscall_name.
> > > > > +M:void:get_syscall_by_name:const char *syscall_name, struct syscall *s:syscall_name, s
> > > > > +
> > > > > +# Returns the array containing the syscall names for the architecture.
> > > > > +M:const char **:get_syscall_names:void:
> > > >
> > > > If every target is going to use XML for this, these three do not need
> > > > to be gdbarch methods and the support code can move from linux-tdep.c
> > > > to xml-syscall.c.
> > >
> > > As far as I understood (from our discussion a few months ago), not every
> > > target is supposed to use the XML for syscalls. That's specially true
> > > for embedded systems and/or architectures for which the XML file is
> > > missing (for some obscure reason, don't know). That's why I thought it
> > > would be better not to generalize.
> >
> > I don't think this is a big deal. If it is, we can handle it the same
> > way as for target-descriptions: pre-compile them into GDB.
>
> With this you mean that I should remove the methods from gdbarch?
Yes, that's what I mean.
The way I think about this is that every gdbarch routine is a way for
some architecture to handle things differently. If we can make every
architecture work the same way, we should do that instead.
--
Daniel Jacobowitz
CodeSourcery