无法重现构建静态库

Cannot reproduce building static library

我创建了一个静态库 (libxil.a)(更准确地说,Xilinx 的 SDK 从 BSP 源代码生成了一个静态库)

我意识到 运行 make 两次在相同来源上产生不同的 libxil.a。 (md5sum-s不同):

$ make
...

$ md5sum libxil.a
66f2a981ba0e608b4747d59c8d706561  libxil.a

$ make clean

$ make
...

$ md5sum libxil.a
ba26dba2211e539d0f17d9a4464b3386 libxil.a

我试图查看与 objdump -s 的区别,但没有:

diff  <(objdump -s libxil1.a) <(objdump -s libxil2.a)

(-s 显示请求的所有部分的完整内容)

如何查看差异?

为什么这两个编译完全不同?

objdump-s 开关不会转储 headers。也用-x开关,”显示所有headers”的内容

$ diff  <(objdump -sx libxil1.a) <(objdump -sx libxil2.a)
...
4c4
< rw-rw-r-- 1008/1008   1324 Jul 24 10:36 2020 xio.o
---
> rw-rw-r-- 1008/1008   1324 Jul 24 10:46 2020 xio.o
...

静态库存储object 文件的创建日期。这些时间戳因编译而异。