1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
From 5e6d152e0100b004ae0400739db545dcfa5f9671 Mon Sep 17 00:00:00 2001
From: Sebastian Bauer <mail@sebastianbauer.info>
Date: Wed, 2 Dec 2015 21:39:42 +0100
Subject: [PATCH 5/9] Disable the usage of /dev/urandom when compiling for
AmigaOS.
---
gcc/gcc.c | 3 +++
gcc/toplev.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/gcc/gcc.c b/gcc/gcc.c
index e88e6d3497c13a4e9a5d92d71de6128678ec546f..eb56ea7242ab51c941b88d72f8dee2a0381e2c8f 100644
--- gcc/gcc.c
+++ gcc/gcc.c
@@ -9511,22 +9511,25 @@ print_asm_header_spec_function (int arg ATTRIBUTE_UNUSED,
/* Get a random number for -frandom-seed */
static unsigned HOST_WIDE_INT
get_random_number (void)
{
unsigned HOST_WIDE_INT ret = 0;
+
+#ifndef __amigaos4__
int fd;
fd = open ("/dev/urandom", O_RDONLY);
if (fd >= 0)
{
read (fd, &ret, sizeof (HOST_WIDE_INT));
close (fd);
if (ret)
return ret;
}
+#endif
/* Get some more or less random data. */
#ifdef HAVE_GETTIMEOFDAY
{
struct timeval tv;
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 8979d2634260b1e5ad1183ed26da444c47cd3631..de6cdfc5dfdadbef3851fa842d6566648720ffa7 100644
--- gcc/toplev.c
+++ gcc/toplev.c
@@ -238,22 +238,22 @@ static void
init_local_tick (void)
{
if (!flag_random_seed)
{
/* Try urandom first. Time of day is too likely to collide.
In case of any error we just use the local tick. */
-
+#ifndef __amigaos4__
int fd = open ("/dev/urandom", O_RDONLY);
if (fd >= 0)
{
if (read (fd, &random_seed, sizeof (random_seed))
!= sizeof (random_seed))
random_seed = 0;
close (fd);
}
-
+#endif
/* Now get the tick anyways */
#ifdef HAVE_GETTIMEOFDAY
{
struct timeval tv;
gettimeofday (&tv, NULL);
--
1.9.1
|