http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57920
--- Comment #5 from Frank Heckenbach <f.heckenb...@fh-soft.de> --- (In reply to Paolo Carlini from comment #1) > Note that in 4.8.x and mainline for modern x86 and x86_64 targets we don't > use /dev/urandom at all, we use __x86_rdrand. In general, the idea is that > more targets should use hardware support for random numbers and /dev/urandom > become just a fall back. I'm not sure changing fread to read it's worth the > trouble, and the change, since we are not talking about a regression, would > not go in 4.7.x branch anyway. Are you on x86 / x86_64 or something else? I use an AMD (Thuban) in 32 bit mode. This processor core is ~3 years old and AFAICS it doesn't support rdrand. So even if newer AMDs do supports it (which I don't know), I guess it's fair to say that for some more years there will be processors around which don't, and in this case I assume gcc falls back to /dev/urandom.