http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419
--- Comment #40 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-09-06
14:15:29 UTC ---
(In reply to comment #39)
> 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.
Looks ok to me, but patches should be mailed with ChangeLog entry to
gcc-patches and libstdc++ mailing lists.