summaryrefslogtreecommitdiff
path: root/libstdc++-v3/configure
diff options
context:
space:
mode:
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-09 17:20:42 +0000
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-09 17:20:42 +0000
commitbdbf421cd2aa91716fab7fa7b6a312ab5a576212 (patch)
tree8969affc89fdebd06b8f119befc16b15679f6256 /libstdc++-v3/configure
parent865812bf75d27473d32386711289e7a14832da31 (diff)
downloadgcc-bdbf421cd2aa91716fab7fa7b6a312ab5a576212.tar.gz
2012-09-09 Ulrich Drepper <drepper@gmail.com>
Dominique d'Humieres <dominiq@lps.ens.fr> Jack Howarth <howarth@bromo.med.uc.edu> PR bootstrap/54419 * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND. * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand support in assembler. * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND. (random_device::_M_init): Likewise. (random_device::_M_getval): Likewise. * configure: Regenerated. * config.h.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191111 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/configure')
-rwxr-xr-xlibstdc++-v3/configure42
1 files changed, 42 insertions, 0 deletions
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 9ea8042a1ca..d55a9efa0b1 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -70621,6 +70621,48 @@ $as_echo "#define _GLIBCXX_LONG_DOUBLE_COMPAT 1" >>confdefs.h
esac
+# Check if assembler supports rdrand opcode.
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rdrand support in assembler" >&5
+$as_echo_n "checking for rdrand support in assembler... " >&6; }
+ if { as_var=$ac_cv_x86_rdrand; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_cv_x86_rdrand=no
+ case "$target" in
+ i?86-*-* | \
+ x86_64-*-*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+asm("rdrand %eax");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_x86_rdrand=yes
+else
+ ac_cv_x86_rdrand=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ esac
+
+fi
+
+ if test $ac_cv_x86_rdrand = yes; then
+
+$as_echo "#define _GLIBCXX_X86_RDRAND 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_x86_rdrand" >&5
+$as_echo "$ac_cv_x86_rdrand" >&6; }
+
+
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
if $GLIBCXX_IS_NATIVE ; then