From: Andi Kleen <a...@linux.intel.com> When available use /dev/urandom to get the random seem. This will lower the probability of collisions.
On other systems it will fallback to the old methods. Passes bootstrap + testsuite on x86_64. Ok? gcc/: * 2011-09-26 Andi Kleen <a...@linux.intel.com> * toplev.c (init_local_tick): Try reading random seed from /dev/urandom --- gcc/toplev.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/gcc/toplev.c b/gcc/toplev.c index e1a8b35..6298595 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -262,6 +262,12 @@ init_local_tick (void) { if (!flag_random_seed) { + /* Try urandom first. Time of day is too likely to collide. */ + + int fd = open("/dev/urandom", O_RDONLY); + read(fd, &random_seed, sizeof(random_seed)); + close(fd); + /* Get some more or less random data. */ #ifdef HAVE_GETTIMEOFDAY { -- 1.7.5.4