Linux 在内核空间中识别二进制文件的编译时

Linux 在内核空间中识别二进制文件的编译时,linux,linux-kernel,kernel,linux-device-driver,kernel-module,Linux,Linux Kernel,Kernel,Linux Device Driver,Kernel Module,我正在内核中编写一段代码,它可以获得其他二进制文件的时间戳。时间戳是指二进制文件的编译时间 有没有办法得到这些信息 当我们使用ls-l时,时间戳在用户空间中可用。因此,理想情况下,它应该嵌入elf文件中的某个位置。我怎样才能得到这条信息 提前谢谢 Gomathi < P>二进制二进制编译时间不可用(除非它是C++或C++中的代码,使用 顺便说一句,默认情况下,该规范不存储任何时间戳(如果存储了时间戳,则可能是strip-ed) ls-l(以及命令)提供给您的是syscall提供的一些元数据(

我正在内核中编写一段代码,它可以获得其他二进制文件的时间戳。时间戳是指二进制文件的编译时间

有没有办法得到这些信息

当我们使用ls-l时,时间戳在用户空间中可用。因此,理想情况下,它应该嵌入elf文件中的某个位置。我怎样才能得到这条信息

提前谢谢


Gomathi

< P>二进制二进制编译时间不可用(除非它是C++或C++中的代码,使用<代码> 顺便说一句,默认情况下,该规范不存储任何时间戳(如果存储了时间戳,则可能是
strip
-ed)

ls-l
(以及命令)提供给您的是syscall提供的一些元数据(由文件系统保存);您可能希望
st_mtime
(或
st_mtim
作为
timespec
)字段,提供文件的上次修改时间。但例如,ELF文件的
cp
会将当前时间作为
st_mtime
提供给新副本

但是ELF可执行文件的
st_mtime
字段是链接器(或类似
cp
)编写该可执行文件的时间(因此它与链接时间的关系比与编译时间的关系更大)

要在内核中检索它,请查看可执行文件的内核(在


您没有说明您的真正目标,但我想它们可以(也应该)在用户领域完成(查看&…)。避免为这样的事情修补内核。< /P> < P>二进制二进制的编译时间是不可用的(除非它是用C或C++编码的,并且使用<代码> 顺便说一句,默认情况下,该规范不存储任何时间戳(如果存储了时间戳,则可能是
strip
-ed)

ls-l
(以及命令)提供给您的是syscall提供的一些元数据(由文件系统保存);您可能希望
st_mtime
(或
st_mtim
作为
timespec
)字段,提供文件的上次修改时间。但例如,ELF文件的
cp
会将当前时间作为
st_mtime
提供给新副本

但是ELF可执行文件的
st_mtime
字段是链接器(或类似
cp
)编写该可执行文件的时间(因此它与链接时间的关系比与编译时间的关系更大)

要在内核中检索它,请查看可执行文件的内核(在


您没有说明您的真正目标,但我想它们可以(也应该)在用户领域完成(查看&…)。避免为这样的事情修补内核。< /P> < P>二进制二进制的编译时间是不可用的(除非它是用C或C++编码的,并且使用<代码> 顺便说一句,默认情况下,该规范不存储任何时间戳(如果存储了时间戳,则可能是
strip
-ed)

ls-l
(以及命令)提供给您的是syscall提供的一些元数据(由文件系统保存);您可能希望
st_mtime
(或
st_mtim
作为
timespec
)字段,提供文件的上次修改时间。但例如,ELF文件的
cp
会将当前时间作为
st_mtime
提供给新副本

但是ELF可执行文件的
st_mtime
字段是链接器(或类似
cp
)编写该可执行文件的时间(因此它与链接时间的关系比与编译时间的关系更大)

要在内核中检索它,请查看可执行文件的内核(在


您没有说明您的真正目标,但我想它们可以(也应该)在用户领域完成(查看&…)。避免为这样的事情修补内核。< /P> < P>二进制二进制的编译时间是不可用的(除非它是用C或C++编码的,并且使用<代码> 顺便说一句,默认情况下,该规范不存储任何时间戳(如果存储了时间戳,则可能是
strip
-ed)

ls-l
(以及命令)提供给您的是syscall提供的一些元数据(由文件系统保存);您可能希望
st_mtime
(或
st_mtim
作为
timespec
)字段,提供文件的上次修改时间。但例如,ELF文件的
cp
会将当前时间作为
st_mtime
提供给新副本

但是ELF可执行文件的
st_mtime
字段是链接器(或类似
cp
)编写该可执行文件的时间(因此它与链接时间的关系比与编译时间的关系更大)

要在内核中检索它,请查看可执行文件的内核(在


您没有说明您的真正目标,但我想它们可以(也应该)在用户领域完成(查看&…)。避免为这些事情修补内核。

一般来说,避免将在userland中可以做的事情放在内核中。为什么要问这个问题?为什么编译时间在内核空间中很重要?一般来说,避免把在用户空间中可以做的事情放在内核中。你为什么要问?为什么编译时间在内核空间中很重要?一般来说,避免把在用户空间中可以做的事情放在内核中。你为什么要问?为什么编译时间在内核空间中很重要?一般来说,避免把在用户空间中可以做的事情放在内核中。你为什么要问?为什么编译时间在内核空间中很重要?