https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88264

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Another useful tunable would be to alter the meaning of the "default" token for
the std::random_device constructor:

    if (token == "default")
      {
        default_token = true;
        fname = "/dev/urandom";
#if defined _GLIBCXX_USE_CRT_RAND_S
        which = rand_s;
#elif defined USE_RDSEED
        which = rdseed;
#elif defined USE_RDRAND
        which = rdrand;
#elif defined _GLIBCXX_USE_DEV_RANDOM
        which = device_file;
#else
# error "either define USE_MT19937 above or set the default device here"
#endif
      }

In a build of libstdc++ that defaults to rdrand it would be useful to be able
to force "default" to mean /dev/urandom or /dev/random at runtime, to
workaround RDRAND bugs in AMD processors.

Reply via email to