cvs commit: src/sys/dev/em if_em.c if_em.h

Warner Losh imp at bsdimp.com
Fri Aug 4 16:14:59 UTC 2006


From: Colin Percival <cperciva at FreeBSD.org>
Subject: Re: cvs commit: src/sys/dev/em if_em.c if_em.h
Date: Fri, 04 Aug 2006 01:14:54 -0700

> Yar Tikhiy wrote:
> > Yeah, it's a thing to watch out for.  As are __TIME__ and __DATE__.
> 
> FWIW, the following files in 6.1-RELEASE/i386 contain build timestamps:
> 
> /boot/GENERIC/hptmv.ko
> /boot/GENERIC/kernel
> /boot/SMP/hptmv.ko
> /boot/SMP/kernel
> /boot/loader
> /boot/pxeboot
> /etc/mail/freebsd.cf
> /etc/mail/freebsd.submit.cf
> /etc/mail/sendmail.cf
> /etc/mail/submit.cf
> /lib/libcrypto.so.4
> /usr/bin/ntpq
> /usr/include/osreldate.h
> /usr/sbin/amd
> /usr/sbin/iasl
> /usr/sbin/isdnd
> /usr/sbin/isdndebug
> /usr/sbin/isdnmonitor
> /usr/sbin/isdnphone
> /usr/sbin/isdntelctl
> /usr/sbin/lwresd
> /usr/sbin/named
> /usr/sbin/ntpd
> /usr/sbin/ntpdate
> /usr/sbin/ntpdc
> /usr/sbin/ppp
> 
> Of these, I've recently removed the timestamps in /usr/sbin/isdn*, and
> dougb has a patch to remove the timestamps in lwresd and named.
> 
> There are also timestamps in all of the library archive files, but those
> are required by the archive format, so we can't do much about them.

All static binaries on the system, in current, have the entire path to
where the source code was built encoded into.  This is due to an
assert being used in malloc and other code which expands __FILE__,
which gives you the entire path.  Since we don't compile with
-DNDEBUG, we expose ourselves to this.

I have in my local tree a knob that allows one to turn on compiling
with -DNDEBUG that I didn't have time to integrate before my move.

Warner


More information about the cvs-src mailing list