assistance required: strace when used with my own system call

Awais Ahmed awais1090 at
Tue Mar 30 12:25:12 UTC 2004


this is to post a query about a problem that I am
facing with strace. What I have done is as follows: -

I have implemented my own system call using the kernel
2.4.22, by the name of "luqi_null". 

I have added the system call number ( that is #define
__NR _luqi_null 259) in the include file >>   

I have added the code for my system call in the file
>>> /usr/src/linux/kernel/sys.c

I have also added the name of my system call in the
file >>> /usr/src/linux/arch/i386/kernel/entry.S

I have recompiled my kernel and my system call works
perfectly ok. but when I try to run the strace program
on my test program (my test program calls the system
call I have made and an open system call), it does not
captures the name of my system call. 

teh strace program gives some input/output error and
it shows the activity of my system call as >>>  
timer_create(0x5, {...}, {0xbffff8f8})  = 6

detailed output of the strace when run on my test
program for system call is as follows: -
>>>>>munmap(0x40015000, 52400)               = 0
open("/root/a", O_RDWR)                 = 3
timer_create(0x5, {...}, {0xbffff8f8})  = 6
timer_create(0x64, {...}, {0xbffff8f8}) = 101

So for my system call it states "timer_create" where
0x5 in first case is the i[put parameter and 6 is out
put of my system call and 0xbffff8f8 is the address
where my system call is loaded...


the problem is that strace is not listing the name of
my system call, however it races teh execution with
the above ouptput. I want that strace gives me teh
name of my system call. Can you help me for that???

Do I hacve to recompile the strace for my modified
kernel or I have to include the name of my system call
somewhere else too???

I will hbe greatful for your help...

Awais Ahmed
Graduate Student, FCSE, GIKI

Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.

More information about the Strace-devel mailing list