http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57920
--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> --- 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?