什么是系统调用模板.S?

什么是系统调用模板.S?

我遇到过一个文件,syscall-template.S更具体地说,它的位置是

.../sysdeps/unix/syscall-template.S

  1. 这个文件是什么?
  2. 它在哪里。它不在我的系统上,我在源包中找不到它,包括linux-imageglibc

答案1

这是编译代码时必需的文件C。下面您将看到建筑的片段glibc-2.14.1

我今天正在构建一个新的 LFS 系统,刚刚看到它飞过。

猜测它与以下内容相关C并提供了用于构建程序system call的信息Cgcc

 echo '#define SYSCALL_SYMBOL __GI_mq_setattr'; \
 echo '#include <syscall-template.S>'; \     <========### syscall-template.S
 echo 'weak_alias (__GI_mq_setattr, mq_setattr)'; \
 echo 'libc_hidden_weak (mq_setattr)'; \
) | x86_64-lfs-linux-gnu-gcc -c  -I../include -I/mnt/lfs/sources/glibc-build/rt -I/mnt/lfs/sources/glibc-build -I../sysdeps/x86_64/elf -I../nptl/sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I..

编辑:

您看不到它,因为它是glibc源的一部分。位于:

glibc-2.14.1/sysdeps/unix/syscall-template.S

安装完成后,通常会删除此目录。

编辑2:

我刚刚重读了你最初的帖子。你说它不在glibc source我想验证的地方,只是tar再次提取它,它在我上面列出的路径中。

相关内容