linux - Ubuntu 64位下添加系统调用,系统注册表需要修改的是syscall_64.tbl吗
PHP中文网
PHP中文网 2017-04-17 12:59:22
0
1
838

因为修改了syscall_32.tbl没有用

我的添加系统调用步骤:

1、在unistd.h中添加系统调用号
2、在系统调用表中添加相应表项(原来在syscall_32.tbl中添加)
3、在kernel/sys.c末尾添加系统调用函数的定义
4、重新编译内核,过程中出现一句waring(不知道有没有关系):意思大概是 sys_mysyscall没有被实现,然后重启编译后的新内核
5、写用户态程序测试,发现没有报错,但是也没有实现系统调用

所以想问一下,64位 Ubuntu kylin 14.10 (内核 3.18.2)系统调用是怎样的,我可能哪里有问题?

谢谢!

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(1)
刘奇

為什麼要改 unistd.h?直接自己寫個封裝,呼叫 syscall(2) 就可以了嘛。

然後,既然程式有問題,不把程式拿出來看誰能夠猜到問題在哪裡呢? 「沒有實現系統呼叫」是什麼意思? ****加粗文字加粗文字

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!