RFC: Building libstdc++ with -frandom-seed=RepeatabilityConsideredGood

Colin Percival colin.percival at wadham.ox.ac.uk
Mon Nov 8 16:31:36 PST 2004


I would like to add the following line to lib/libstdc++/Makefile:

CFLAGS+=	-frandom-seed=RepeatabilityConsideredGood

This is a new option in gcc 3.4 which allows a string to be specified
(in this case, the string "RepeatabilityConsideredGood") which will be
used as a random number seed in place of the usual behaviour (obtaining
a seed from the clock).

At present, libstdc++ is the only part of FreeBSD which does not build
"recognizably" repeatably.  By this I mean that while many files contain
timestamps (including all library archives), libstdc++ currently has
much greater variation from one build to the next, because it happens to
tickle a place in gcc where the random number seed is used.  In previous
FreeBSD releases, this behaviour was exhibited by the libobjc library.

My personal interest in this is for FreeBSD Update -- I need repeatable
builds in order to identify which files are affected by security patches 
-- but since I can't see any downside to using this option, I'd like to
commit this instead of keeping it as a local patch.

Opinions?

Colin Percival



More information about the freebsd-current mailing list