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: RFA [PATCH v3] Implement 'catch syscall' for gdbserver


On Wed, 2013-09-25 at 13:55 -0300, Sergio Durigan Junior wrote:
> On Tuesday, September 24 2013, Sanimir Agovic wrote:
> 
> >> > Is it sufficient to assign sysno/sysret to 0 to indicate missing 'catch syscall'
> >> > functionality? Both values seem legal to me.
> >> The idea is that will be used in case the user forces the use of the
> >> QCatchSyscalls packet. So, I think it is better to return "valid" (but
> >> not used) values : I do not think there is a syscall nr 0.
> >> 
> > gdb -batch -ex 'set architecture i386:x86-64' -ex 'catch syscall 0'
> > The target architecture is assumed to be i386:x86-64
> > Catchpoint 1 (syscall 'read' [0])
> >
> > I just wanted to make sure that we do not report any false syscalls. 
> > Thus I checked syscall 0 in gdb on amd64 which is mapped to 'read'.
> 
> Thanks for catching that.  I guess I had to solve the same problem for
> the native "catch syscall".  If you look at the UNKNOWN_SYSCALL define
> (it's on gdbarch.h), you'll see that I have chosen the value of -1.  I
> guess you could use the same trick, Philippe.  WDYT?
I tested with the 0 value, and effectively that gives a "read" syscall
on x86-64, which is not ideal, even if that would happen only when
the user does something strange (forcing to activate a packet with
a gdbserver which has not reported it can handle such packet).

-1 looks a good "bad" value, assuming that the gdb+protocol+gdbserver
will be able to "correctly" handle negative numbers.
I will test this behaviour (probably this WE).

Also, ping ... :
if before this WE, a maintainer reviews the patch, I will be more
than happy to handle the comments :)


Philippe




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