linux - Ubuntu 64位下添加系统调用,系统注册表需要修改的是syscall_64.tbl吗

 康师傅摸-你丶擦_489 发布于 2022-11-05 06:31

因为修改了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)系统调用是怎样的,我可能哪里有问题?

谢谢!

1 个回答
  • 你为什么要改 unistd.h?直接自己写个封装,调用 syscall(2) 就可以了嘛。

    然后,既然程序有问题,不把程序拿出来看谁能够猜到问题在哪里呢?「没有实现系统调用」是什么意思?****加粗文字加粗文字

    2022-11-09 03:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有