[patch] libstdc++/65142 Check read() result in std::random_device.
Gerald Pfeifer
gerald@pfeifer.com
Thu Sep 17 20:22:00 GMT 2015
On Thu, 17 Sep 2015, Jonathan Wakely wrote:
>> Any comments on this version?
> Committed to trunk.
Unfortunately this broke bootstrap on FreeBSD 10.1.
/scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc: In member function 'std::random_device::result_type std::random_device::_M_getval()':
/scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc:144:22: error: 'errno' was not declared in this scope
else if (e != -1 || errno != EINTR)
^
/scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc:144:31: error: 'EINTR' was not declared in this scope
else if (e != -1 || errno != EINTR)
^
Makefile:545: recipe for target 'random.lo' failed
I probably won't be able to dig in deeper today, but figured this
might already send you on the right path?
Actually...
...how about he patch below? Bootstraps on i386-unknown-freebsd10.1,
no regressions.
Gerald
2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
* src/c++11/random.cc: Include <cerrno>.
Index: libstdc++-v3/src/c++11/random.cc
===================================================================
--- libstdc++-v3/src/c++11/random.cc (revision 227883)
+++ libstdc++-v3/src/c++11/random.cc (working copy)
@@ -31,6 +31,7 @@
# include <cpuid.h>
#endif
+#include <cerrno>
#include <cstdio>
#ifdef _GLIBCXX_HAVE_UNISTD_H
More information about the Libstdc++
mailing list