什麼是系統呼叫模板.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再次提取它,它在我上面列出的路徑中。

相關內容