This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]