aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig/conf.c')
-rw-r--r--scripts/kconfig/conf.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index e39fcd8143ea..bde5b95c8c19 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -13,6 +13,7 @@
13#include <getopt.h> 13#include <getopt.h>
14#include <sys/stat.h> 14#include <sys/stat.h>
15#include <sys/time.h> 15#include <sys/time.h>
16#include <errno.h>
16 17
17#include "lkc.h" 18#include "lkc.h"
18 19
@@ -514,14 +515,23 @@ int main(int ac, char **av)
514 { 515 {
515 struct timeval now; 516 struct timeval now;
516 unsigned int seed; 517 unsigned int seed;
518 char *seed_env;
517 519
518 /* 520 /*
519 * Use microseconds derived seed, 521 * Use microseconds derived seed,
520 * compensate for systems where it may be zero 522 * compensate for systems where it may be zero
521 */ 523 */
522 gettimeofday(&now, NULL); 524 gettimeofday(&now, NULL);
523
524 seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1)); 525 seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1));
526
527 seed_env = getenv("KCONFIG_SEED");
528 if( seed_env && *seed_env ) {
529 char *endp;
530 int tmp = (int)strtol(seed_env, &endp, 10);
531 if (*endp == '\0') {
532 seed = tmp;
533 }
534 }
525 srand(seed); 535 srand(seed);
526 break; 536 break;
527 } 537 }