[Linux-ia64] sys_clone() related info/help/pointer needed

From: Raj Patil <rpatil0296_at_yahoo.com>
Date: 2003-05-23 06:36:19
Hello,
 
I am trying to port (time permitting) a small ia32 package to ia64.
One of the thing it does are not supposed to be done that way.
Like it adds a new syscall entry to the syscall table. But, I am doing
this just to see how this tiny stuff from ia32 works on ia64 without 
getting into dynamically adding the new sys call discussion.
 
The progam basically adds an entry to syscall table, and when this
new syscall is called, it simply calls sys_clone() with same arguments.
(like making a duplicate sys_clone call)
static long my_call(unsigned long flags, unsigned long sz)
{
      rc=sys_clone(flags, sz); /* sys_clone is exported */
       ......
}
Everything seems to work excpet that the child process created is not
getting executed.  I can see that the  return value from the sys_clone is
the pid of the child process and the task struct for the child getting set 
etc. But, the child process created does not get executed. I don't see
 any error messages in dmesg output either. So, I am not sure what 
is going wrong and what exactly to look. (Yes, I am  relatively new to
 Linux.) Any suggestions or pointers to try will be greatly appreciated. (Hooking up the gdb over serial port would be a stretch as the machine
is shared by other folks and I am trying this on the side. )
The sys_clone() is an assembly code which calls do_fork after setting
the regs and performing do_save_switch_stack etc.I don't see any
thing obvious there or in do_fork code.
 
Thanks for any suggestions/pointers/info to try.
 
Regards,
Raj
 


---------------------------------
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
Received on Thu May 22 13:36:51 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:14 EST