This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk 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] System call for multi-architecture


On Wed, Sep 13, 2006 at 09:10:57PM +0800, Yao Qi wrote:
> There were two threads in this maillist about this issue, and I
> modified this patch for several time per Mark and Tom's comments, and
> feedback from these two threads.
> 
> This patch could provide,
>   1) draft system call list(for x86, x86_64, and powerpc).
>   2) ftrace could work on these three platforms.
A sample output of ftrace on x86_64,

[qiyao@YZ_X86_64 ~/build-frysk/frysk-core]$ ./frysk/bindir/ftrace
frysk/pkglibexecdir/funit-syscall-running
ftrace.main() Proc.getPid() 2494
ftrace.main() Proc.getPid()
/home/qiyao/build-frysk/frysk-core/frysk/pkglibexecdir/funit-syscall-running
2494.2494 <SYSCALL> brk (NULL) = 5246976
2494.2494 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x2aaaaaaab000
2494.2494 <SYSCALL> uname (0x7fff4cc32200) = 0
2494.2494 <SYSCALL> access ("",4) = -1 ERRNO=2
2494.2494 <SYSCALL> open ("",0,1) = 3
2494.2494 <SYSCALL> fstat (3,0x7fff4cc318e0) = 0
2494.2494 <SYSCALL> mmap (NULL,150516,1,2,3,0) = 0x2aaaaaaac000
2494.2494 <SYSCALL> close (3) = 0
2494.2494 <SYSCALL> open ("",0,-1431654400) = 3
2494.2494 <SYSCALL> read (3,0x7fff4cc31a68,832) = 832
2494.2494 <SYSCALL> fstat (3,0x7fff4cc31940) = 0
2494.2494 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x2aaaaaad1000
2494.2494 <SYSCALL> mmap (0x35a0200000,2392200,5,2050,3,0) = 0x35a0200000
2494.2494 <SYSCALL> mprotect (0x35a033f000,1048576,0) = 0
2494.2494 <SYSCALL> mmap (0x35a043f000,20480,3,2066,3,1306624) = 0x35a043f000
2494.2494 <SYSCALL> mmap (0x35a0444000,16520,3,50,-1,0) = 0x35a0444000
2494.2494 <SYSCALL> close (3) = 0
2494.2494 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x2aaaaaad2000
2494.2494 <SYSCALL> arch_prctl () = 0
2494.2494 <SYSCALL> mprotect (0x35a043f000,16384,1) = 0
2494.2494 <SYSCALL> mprotect (0x35a0119000,4096,1) = 0
2494.2494 <SYSCALL> munmap (0x2aaaaaaac000,150516) = 0
2494.2494 <SYSCALL> socket (2,1,0) = 3
2494.2494 <SYSCALL> bind (3,0x7fff4cc32430,16) = 0
2494.2494 <SYSCALL> getsockname (3,0x7fff4cc32430,0x7fff4cc3242c) = 0
2494.2494 <SYSCALL> listen (3,0) = 0
2494.2494 <SYSCALL> fstat (1,0x7fff4cc31b40) = 0
2494.2494 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x2aaaaaaac000
2494.2494 <SYSCALL> write (1,0x2aaaaaaac000,6)43924  = 6
2494.2494 <SYSCALL> accept ()



And a sample output on x86,

[qiyao@GreenHouse frysk-core]$ ./frysk/bindir/ftrace
frysk/pkglibexecdir/funit-syscall-running
ftrace.main() Proc.getPid() 19858
ftrace.main() Proc.getPid()
/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-syscall-running
19858.19858 <SYSCALL> brk (NULL) = 162381824
19858.19858 <SYSCALL> mmap (NULL,4096,3,34,-1,-38) = 0xb7f6e000
19858.19858 <SYSCALL> access ("/etc/ld.so.preload",4) = -1 ERRNO=2
19858.19858 <SYSCALL> open ("/etc/ld.so.cache",0,0) = 3
19858.19858 <SYSCALL> fstat64 (3,0xbfa5d8cc) = 0
19858.19858 <SYSCALL> mmap (NULL,67623,1,2,3,-38) = 0xb7f5d000
19858.19858 <SYSCALL> close (3) = 0
19858.19858 <SYSCALL> open ("/lib/libc.so.6",0,699) = 3
19858.19858 <SYSCALL> read (3,0xbfa5da1c,512) = 512
19858.19858 <SYSCALL> fstat64 (3,0xbfa5d92c) = 0
19858.19858 <SYSCALL> mmap (0x743000,1295780,5,2050,3,-38) = 0x743000
19858.19858 <SYSCALL> mmap (0x87a000,12288,3,2066,3,-38) = 0x87a000
19858.19858 <SYSCALL> mmap (0x87d000,9636,3,50,-1,-38) = 0x87d000
19858.19858 <SYSCALL> close (3) = 0
19858.19858 <SYSCALL> mmap (NULL,4096,3,34,-1,-38) = 0xb7f5c000
19858.19858 <SYSCALL> set_thread_area (0xbfa5de10) = 0
19858.19858 <SYSCALL> mprotect (0x87a000,8192,1) = 0
19858.19858 <SYSCALL> mprotect (0x73f000,4096,1) = 0
19858.19858 <SYSCALL> munmap (0xb7f5d000,67623) = 0
19858.19858 <SYSCALL> socket (2,1,0) = 3
19858.19858 <SYSCALL> bind (3,0xffffffffbfa5e1c8,16) = 0
19858.19858 <SYSCALL> getsockname (3,0xffffffffbfa5e1c8,0xffffffffbfa5e1c4) = 0
19858.19858 <SYSCALL> listen (3,0) = 0
19858.19858 <SYSCALL> fstat64 (1,0xbfa5da84) = 0
19858.19858 <SYSCALL> mmap (NULL,4096,3,34,-1,-38) = 0xb7f6d000
19858.19858 <SYSCALL> write (1,0xb7f6d000,6)36086  = 6
19858.19858 <SYSCALL> accept (3,0xffffffffbfa5e1b4,0xffffffffbfa5e1c4)


A sample output on ppc64,
[qiyao@power-frysk1 ~/build-frysk/frysk-core]$ ./frysk/bindir/ftrace
frysk/pkglibexecdir/funit-syscall-running
ftrace.main() Proc.getPid() 7855
ftrace.main() Proc.getPid()
/home/qiyao/build-frysk/frysk-core/frysk/pkglibexecdir/funit-syscall-running
7855.7855 <SYSCALL> brk (NULL) = 268509184
7855.7855 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x40000000000
7855.7855 <SYSCALL> access ("",4) = -1 ERRNO=2
7855.7855 <SYSCALL> open ("",0,1) = 3
7855.7855 <SYSCALL> fstat () = 0
7855.7855 <SYSCALL> mmap (NULL,80861,1,2,3,0) = 0x40000001000
7855.7855 <SYSCALL> close (3) = 0
7855.7855 <SYSCALL> open ("",0,-55593184) = 3
7855.7855 <SYSCALL> read (3,0xfffffb6d588,832) = 832
7855.7855 <SYSCALL> fstat () = 0
7855.7855 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x40000015000
7855.7855 <SYSCALL> mmap (0x80fcb00000,1713168,5,2050,3,0) = 0x80fcb00000
7855.7855 <SYSCALL> mprotect (0x80fcc7c000,61440,0) = 0
7855.7855 <SYSCALL> mmap (0x80fcc8b000,81920,3,2066,3,1552384) = 0x80fcc8b000
7855.7855 <SYSCALL> mmap (0x80fcc9f000,13328,3,50,-1,0) = 0x80fcc9f000
7855.7855 <SYSCALL> close (3) = 0
7855.7855 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x40000016000
7855.7855 <SYSCALL> mprotect (0x80fcc8b000,16384,1) = 0
7855.7855 <SYSCALL> mprotect (0x80fcaf8000,4096,1) = 0
7855.7855 <SYSCALL> munmap (0x40000001000,80861) = 0
7855.7855 <SYSCALL> socket (0,0,0) = 3
7855.7855 <SYSCALL> bind (0,0xfff,0) = 0
7855.7855 <SYSCALL> getsockname (0,0xfff,0xfff) = 0
7855.7855 <SYSCALL> listen (0,0) = 0
7855.7855 <SYSCALL> fstat () = 0
7855.7855 <SYSCALL> mmap (NULL,4096,3,34,-1,0) = 0x40000001000
7855.7855 <SYSCALL> write (1,0x40000001000,6)45578  = 6
7855.7855 <SYSCALL> accept (0,0xfff,0xfff)

-- 
Yao Qi


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