标题: 这样修改函数对不对?
  本主题由 blackspace 于 2008-4-24 14:59 移动 
zuorizhifeng
新生入学
Rank: 1



UID 225542
精华 0
积分 14(积分有什么用?)
帖子 4
阅读权限 10
注册 2008-4-18
状态 离线
发表于 2008-4-23 20:30  资料  个人空间  短消息  加为好友 
这样修改函数对不对?

这是在linux下系统调用的时候用'dEl%D-|l [

2j,q GZq)Swww.linuxeden.com原:_syscall1(int,mycall,int,ret)
zJ$x.l:CpU&tLinux伊甸园论坛修改:int mycall(int ret)
d2o`
hY @ KB
{return syscall(__NR_mycall,ret);www.linuxeden.com        s;yD"F
YB2r$o

}
s
j-gLEc,G

$k\ A*N6C9PK那么  _syscall2(int,mycopy,const char *,s_file,const char *,t_file)
ACA-i\,}能不能修改成:;aL#PM-?A~O
int mycopy(const char * s_file,const char * t_file)
p;Z!B R ^ew{return(__NR_mycopy,* s_file,* t_file);
Vs@fD}V} J-m@Vj%\,I{7ZS
i}7y7w.gs4|"R@
附:mycopy在sys.c中的定义  其中  操作正确返回0 否则返回其它值
:n&d$^@9Zgasmlinkage int sys_mycopy(const char* s_file, const char* t_file){spmQ.X
}  www.linuxeden.com*~!K+w Yt:\/n}
Linux伊甸园论坛1|"p*v0wK(G
我的问题:1、如上面  能否修改
D n        D9WX}G                    2、为什么我使用_syscall1(int,mycall,int,ret)不能调用  会报错  而a0n,kV@&j
int mycall(int ret)e*Y$w;l'x
m

{return syscall(__NR_mycall,ret);
N#yp-t,l6owww.linuxeden.com}可以,这是什么原因?

顶部
不容错过的IBM 集群技术资源汇总
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2008-4-26 20:17  资料  个人空间  短消息  加为好友 
貌似在哪本书上看到过syscall函数的用法。。。。。。Linux伊甸园论坛kf,z:ZF9I+p'T
无非是按照一定的规则注册函数,调用的仅仅是注册之后的函数,也就是在列表里的,具体是变成什么样子遵循原则就是了,有什么好较真的。





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
不容错过的IBM 集群技术资源汇总
zuorizhifeng
新生入学
Rank: 1



UID 225542
精华 0
积分 14(积分有什么用?)
帖子 4
阅读权限 10
注册 2008-4-18
状态 离线
发表于 2008-4-27 22:13  资料  个人空间  短消息  加为好友 
回复 #2 flag 的帖子

问题是不修改编译通不过啊
!E)_x5c"[\&XLinux伊甸园论坛我用的内核是2.6.21  已经取消了_syscallN宏定义5Q5Q(t&u(^)RauH
我把原来的宏定义拷过去也是不能用  只能像上面说的那个样子弄
Na$]t Vd]Linux伊甸园论坛但是我没有修改出来

顶部
不容错过的IBM 集群技术资源汇总
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2008-4-28 09:34  资料  个人空间  短消息  加为好友 
内核版那里有问吗?我不晓得关于系统调用的使用有过变化,我觉得有个方法可以尝试,就是你在内核里加入了sys_mycopy的定义,编译内核后检查符号输出表,看看是不是有。Linux伊甸园论坛`        Eo IN
I

http://www.linuxext.com/bbs/read.php?tid=1819&fpage=3www.linuxeden.comK2\"Ic
c}

这里有个例子是关于怎么替换调用系统调用列表函数的。





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
 



当前时区 GMT+8, 现在时间是 2008-5-18 17:08

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.074512 second(s), 6 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP