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] |
On Sun, Sep 6, 2009 at 05:15, Joel Brobecker<brobecker@adacore.com> wrote: >> I could suggest casting it to (unsigned int), but it wouldn't >> really make any difference, would it? ?Mark -- Jiang -- would >> that make you guys more comfortable? > > Short term, I'd rather see us read the syscall number as a signed > number since this is what record_linux_system_call expects. We can > decide whether to rationalize as a signed or unsigned as a separate > patch. I think Mark was OK with the patch I sent yesterday, except > that he said we should add a check against negative values. > > There is also a cast that is unnecessary in the error message. > Hui can use %s/paddress rather than %d/cast. > > -- > Joel > Hi guys, I make a new patch according to your comment. Thanks, Hui 2009-09-06 Michael Snyder <msnyder@vmware.com> Joel Brobecker <brobecker@adacore.com> Hui Zhu <teawater@gmail.com> * i386-linux-tdep.c (i386_linux_intx80_sysenter_record): Change regcache_raw_read to regcache_raw_read_signed. Index: i386-linux-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/i386-linux-tdep.c,v retrieving revision 1.66 diff -u -p -r1.66 i386-linux-tdep.c --- i386-linux-tdep.c 10 Aug 2009 03:04:44 -0000 1.66 +++ i386-linux-tdep.c 6 Sep 2009 02:12:15 -0000 @@ -367,18 +367,19 @@ static int i386_linux_intx80_sysenter_record (struct regcache *regcache) { int ret; - uint32_t tmpu32; + LONGEST syscall; - regcache_raw_read (regcache, I386_EAX_REGNUM, (gdb_byte *) &tmpu32); + regcache_raw_read_signed (regcache, I386_EAX_REGNUM, &syscall); - if (tmpu32 > 499) + if (syscall < 0 || syscall > 499) { printf_unfiltered (_("Process record and replay target doesn't " - "support syscall number %u\n"), tmpu32); + "support syscall number %s\n"), + plongest (syscall)); return -1; } - ret = record_linux_system_call (tmpu32, regcache, + ret = record_linux_system_call (syscall, regcache, &i386_linux_record_tdep); if (ret) return ret;
Attachment:
longest.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |