都江堰网站开发,网站建设编程,怎样把网站做成软件,网站建设数据库建设其实都没有实体源代码klogctl.c#xff0c;而是通过编译时构造出来的源代码实体#xff0c;比如klogctl这个函数#xff0c;glibc的反汇编如下#xff1a; 直接是0x67这个系统调用#xff1a;103#xff1a; Reading symbols from /usr/lib64/libc-2.28.so...
(No debugg…其实都没有实体源代码klogctl.c而是通过编译时构造出来的源代码实体比如klogctl这个函数glibc的反汇编如下 直接是0x67这个系统调用103 Reading symbols from /usr/lib64/libc-2.28.so...
(No debugging symbols found in /usr/lib64/libc-2.28.so)
(gdb) disass klogctl
Dump of assembler code for function klogctl:0x000000000003a320 0: endbr640x000000000003a324 4: mov $0x67,%eax0x000000000003a329 9: syscall0x000000000003a32b 11: cmp $0xfffffffffffff001,%rax0x000000000003a331 17: jae 0x3a334 klogctl200x000000000003a333 19: ret0x000000000003a334 20: mov 0x384b2d(%rip),%rcx # 0x3bee680x000000000003a33b 27: neg %eax0x000000000003a33d 29: mov %eax,%fs:(%rcx)0x000000000003a340 32: or $0xffffffffffffffff,%rax0x000000000003a344 36: ret从Linux的源码里才能查看到103是什么。 /glibc-2.28/sysdeps/unix/sysv/linux/syscalls.list文件里的定义也说是映射到系统调用syslog。 klogctl EXTRA syslog i:isi klogctl
在Linux系统里有这个系统调用的定义在printk.c这个文件里
SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len)
{return do_syslog(type, buf, len, SYSLOG_FROM_READER);
}所以不要纠结说为什么在glibc里找不到相应的klogctl.c这么个文件。