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

Peter Wemm peter at wemm.org
Mon Nov 8 18:09:38 PST 2004


On Monday 08 November 2004 04:31 pm, Colin Percival wrote:
> 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.

So, in a nutshell.. this change means that if you compile libstdc++ 
twice in a row from the same source, you would now get an identical 
binary... whereas now you get a different binary each time you compile 
the same source?

It doesn't change the actual implementation of random number generators 
or anything like that inside the library?

If both of these are correct, then it sounds like a good thing to me...
-- 
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


More information about the freebsd-current mailing list