什么是 syscall-template.S?

Han*_*ndy 9 c kernel glibc

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

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

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

2bc*_*2bc 6

它是编译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..
Run Code Online (Sandbox Code Playgroud)

编辑:

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

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

当您完成安装时,通常会删除此目录。

编辑2:

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