在arch/x86/entry/syscalls/syscall_64.tbl文件添加完新的一行447 common schello sys_schello后,如何使文件的指令编号自动重新排序
时间: 2024-10-21 15:13:04 浏览: 32
my_syscall.zip_my_syscall_syscall_内核模块_系统调用
在`arch/x86/entry/syscalls/syscall_64.tbl`文件中添加新的sys_schello后,为了使指令编号自动重新排序,你需要按照以下步骤操作:
1. **保存并关闭文件**:首先,确保你在添加了新行后正确保存了更改,通常使用文本编辑器如vim、nano或gedit。
2. **更新索引**:这个文件通常包含一个符号表,用于映射系统调用编号到对应的函数地址。Linux内核源码中有一个工具叫做`scripts/update-syscall-zeroes.pl`,它会处理syscall编号的维护。运行这个脚本,它会在`scripts/kallsyms`目录下生成新的`ksyms64.txt`文件,并更新`syscall_64.tbl`文件。
```
scripts/update-syscall-zeroes.pl arch/x86
```
3. **同步变化**:上述命令执行后,可能会提示你有未提交的更改需要提交到版本控制系统(比如git),确保对所有更改进行了提交。
4. **重新编译内核**:最后,你需要重新构建内核以应用这些更改,这通常涉及到`make`命令:
```
make x86_64-native clean && make x86_64-native modules
```
完成以上步骤后,`syscall_64.tbl`文件的指令编号应该已经更新为最新的顺序,包括你的新添加的sys_schello。
阅读全文