I think it is worth to paste the messages while
"SyscallVerbose,IntRegs,Stack,Thread,X86,ExecAll" flags are on:

339054000: system.cpu + A0 T0 : 0x83d48d.4  :   CALL_NEAR_I : wrip   ,
t7, t1 : IntAlu :
339054500: system.cpu.[tid:0]: Setting int reg 16 (16) to 0.
339054500: global: The data size is 8
339054500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0xbb3ac0.
339054500: system.cpu.[tid:0]: Reading int reg 1 (1) as 0x22.
339054500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0xbb3ac0.
339054500: global: Picking with size 8
339054500: system.cpu.[tid:0]: Setting int reg 10 (10) to 0x22.
339054500: system.cpu + A0 T0 : 0x852f90    : mov       r10, rcx
339054500: system.cpu + A0 T0 : 0x852f90.0  :   MOV_R_R : mov   r10,
r10, rcx : IntAlu :  D=0x0000000000000022
339055000: system.cpu.[tid:0]: Setting int reg 16 (16) to 0.
339055000: system.cpu.[tid:0]: Setting int reg 0 (0) to 0x9.
339055000: system.cpu + A0 T0 : 0x852f93    : mov       eax, 0x9
339055000: system.cpu + A0 T0 : 0x852f93.0  :   MOV_R_I : limm   eax,
0x9 : IntAlu :  D=0x0000000000000009
339055500: system.cpu.[tid:0]: Setting int reg 16 (16) to 0.
339055500: system.cpu.[tid:0]: Reading int reg 0 (0) as 0x9.
339055500: system.cpu.[tid:0]: Reading int reg 7 (7) as 0.
339055500: system.cpu.[tid:0]: Reading int reg 6 (6) as 0x4d00001e4ce4b000.
339055500: system.cpu.[tid:0]: Reading int reg 2 (2) as 0x3.
339055500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0x22.
339055500: system.cpu: syscall mmap called w/arguments
34,3,5548434871059525632,0
339055500: system.cpu.[tid:0]: Reading int reg 7 (7) as 0.
339055500: system.cpu.[tid:0]: Reading int reg 6 (6) as 0x4d00001e4ce4b000.
339055500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0x22.
339055500: system.cpu.[tid:0]: Reading int reg 8 (8) as 0xffffffff.


Int register 6 has odd value I think.
Thanks for any comment.


On 4/28/12, Steve Reinhardt <ste...@gmail.com> wrote:
> On Sat, Apr 28, 2012 at 9:43 AM, Mahmood Naderan
> <mahmood...@gmail.com>wrote:
>
>> why the 'length' is so much large?
>>
>
> That is indeed the question.
>
> My guess is that there's some bug in the way we're interpreting the syscall
> arguments being passed in from the application (via registers or on the
> stack).
>
> You could use strace on the application running natively to see what the
> mmap arguments should be.
>
> Then it's mostly a matter of poking around to see at what point things are
> getting confused about the value.  Do the register contents look right on
> entry to the syscall?  What is getSyscallArg doing, and where is it getting
> that ridiculous value from?  At this point, there's probably no substitute
> for single-stepping through some of this code with gdb.
>
> I'm not familiar enoiugh with the x86 ABI to say off the top of my head
> where that argument is being passed.  Anyone?
>
> Steve
>


-- 
// Naderan *Mahmood;
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to