This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand
- From: "howarth at nitro dot med.uc.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 06 Sep 2012 14:11:49 +0000
- Subject: [Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand
- Auto-submitted: auto-generated
- References: <bug-54419-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419
--- Comment #39 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-09-06 14:11:49 UTC ---
The attached revised patch is Ulrich's original with the change of the test in
configure.ac from...
AC_TRY_COMPILE(, [void f(void){asm("rdrand %eax");}],
[ac_cv_x86_rdrand=yes], [ac_cv_x86_rdrand=no])
to
AC_TRY_COMPILE(,[asm("rdrand %eax");],
[ac_cv_x86_rdrand=yes], [ac_cv_x86_rdrand=no])
and the additional missing conditional on the definition of _GLIBCXX_X86_RDRAND
...
@@ -118,7 +118,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
random_device::result_type
random_device::_M_getval()
{
-#if (defined __i386__ || defined __x86_64__)
+#if (defined __i386__ || defined __x86_64__) && defined _GLIBCXX_X86_RDRAND
if (! _M_file)
return __x86_rdrand();
#endif
in libstdc++-v3/src/c++11/random.cc.