diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2016-08-19 17:19:51 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2016-08-19 17:19:51 +0300 |
commit | 09309e09ecfa663cb22c8a210521704df0f18a5d (patch) | |
tree | 90867836565b9d525c6d273b63d2397a7a3ebed6 /gcc | |
parent | 91151a7334543817f1f790310a1bfc4589889cad (diff) | |
download | gcc-09309e09ecfa663cb22c8a210521704df0f18a5d.zip gcc-09309e09ecfa663cb22c8a210521704df0f18a5d.tar.gz gcc-09309e09ecfa663cb22c8a210521704df0f18a5d.tar.bz2 |
Use a XOR cipher instead of byte shuffling to protect against bad seeds.
libgfortran:
2016-08-19 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/random.c (xor_keys): New array with "secret" keys.
(scramble_seed): XOR given seed with xor_keys array rather than
shuffling bytes.
(unscramble_seed): Remove function.
(random_seed_i4): Use new scramble_seed.
(random_seed_i8): Likewise.
frontend:
2016-08-19 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics.texi (RANDOM_NUMBER): Remove reference to
init_random_seed in example.
(RANDOM_SEED): Remove warning to not set all seed values to 0.
From-SVN: r239613
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/intrinsic.texi | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 4d1c2ad..cfc70c1 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2016-08-19 Janne Blomqvist <jb@gcc.gnu.org> + + * intrinsics.texi (RANDOM_NUMBER): Remove reference to + init_random_seed in example. + (RANDOM_SEED): Remove warning to not set all seed values to 0. + 2016-08-18 David Malcolm <dmalcolm@redhat.com> * error.c (gfc_diagnostic_starter): Update for change to diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index 67b0231..8cca9b1 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -11155,7 +11155,6 @@ Subroutine @smallexample program test_random_number REAL :: r(5,5) - CALL init_random_seed() ! see example of RANDOM_SEED CALL RANDOM_NUMBER(r) end program @end smallexample @@ -11192,9 +11191,6 @@ alias any other stream in the system, where @var{N} is the number of threads that have used @code{RANDOM_NUMBER} so far during the program execution. -Note that setting any of the seed values to zero should be avoided as -it can result in poor quality random numbers being generated. - @item @emph{Standard}: Fortran 95 and later |