Timestamps in static libraries
Erik Cederstrand
erik at cederstrand.dk
Tue Oct 5 13:39:03 UTC 2010
Hello hackers,
I got reminded of a problem I had a couple of years back compressing FreeBSD jails. I was using bsdiff for the compression and found out that md5 sums of static libraries (.a files) in /usr/lib and /usr/local/lib didn't match between jails, even though the source code used to create the jails hadn't changed. One of my goals is to detect which files in a distribution change between two commits.
It turns out that timestamps are stored in the library:
# strings DIR1/usr/lib/libfetch.a > tmp1
# strings DIR2/usr/lib/libfetch.a > tmp2
# diff tmp1 tmp2
2c2
< / 1200728973 0 0 0 954 `
---
> / 1200723259 0 0 0 954 `
57c57
< file.o/ 1200728973 0 0 100644 2356 `
---
> file.o/ 1200723259 0 0 100644 2356 `
86c86
< http.o/ 1200728973 0 0 100644 17180 `
---
> http.o/ 1200723258 0 0 100644 17180 `
[...]
I'm wondering if this is necessary, or if this can possibly be turned of with a knob somewhere.
Thanks,
Erik
More information about the freebsd-hackers
mailing list