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.