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] Fix cygwin build error with i386-linux-tdep.c


On Wed, Sep 9, 2009 at 11:29, Michael Snyder<msnyder@vmware.com> wrote:
> Hui Zhu wrote:
>>
>> Hi guys,
>>
>> What do you think about this patch?
>
> Hey, Hui,
>
> Appologies -- this patch of yours sort of got subsumed into my
> bigger syscall patch. ?If you look at CVS head, I think everything
> that this patch changes is already in.

Great.
Thanks a lot.

Hui

>
> Didn't mean to "cut you out"... ? ;-)
>
> Michael
>
>
>> On Sun, Sep 6, 2009 at 12:15, Hui Zhu<teawater@gmail.com> wrote:
>>>
>>> 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;
>>>
>
>


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