mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-05-26 02:51:49 +02:00
gnu: arm-none-eabi toolchain 12.3.rel1
Introduces arm-none-eabi 12.3.rel1 toolchain The arguments for this toolchain are taken mostly out of here https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads/12-3-rel1 * gnu/packages/patches/newlib-getentropy.patch: Add a patch. * gnu/local.mk: Register it. * gnu/packages/embedded.scm (make-gcc-arm-none-eabi-12.3.rel1): Add variable. * gnu/packages/embedded.scm (make-newlib-arm-none-eabi-12.3.rel1): Add variable. * gnu/packages/embedded.scm (make-newlib-nano-arm-none-eabi-12.3.rel1): Add variable. * gnu/packages/embedded.scm (make-arm-none-eabi-toolchain-12.3.rel1): Add variable. * gnu/packages/embedded.scm (make-arm-none-eabi-toolchain-nano-12.3.rel1): Add variable. Change-Id: If4220c6bc7b1def240cbb9d5d245758f7c51a8a0 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
committed by
Ludovic Courtès
parent
c9aae9300a
commit
979003c0f0
+109
-1
@@ -78,22 +78,27 @@
|
||||
#:export (make-gcc-arm-none-eabi-4.9
|
||||
make-gcc-arm-none-eabi-6
|
||||
make-gcc-arm-none-eabi-7-2018-q2-update
|
||||
make-gcc-arm-none-eabi-12.3.rel1
|
||||
|
||||
make-gcc-vc4
|
||||
|
||||
make-newlib-arm-none-eabi
|
||||
make-newlib-arm-none-eabi-7-2018-q2-update
|
||||
make-newlib-arm-none-eabi-12.3.rel1
|
||||
|
||||
make-newlib-nano-arm-none-eabi
|
||||
make-newlib-nano-arm-none-eabi-7-2018-q2-update
|
||||
make-newlib-nano-arm-none-eabi-12.3.rel1
|
||||
|
||||
make-arm-none-eabi-toolchain-4.9
|
||||
make-arm-none-eabi-toolchain-6
|
||||
make-arm-none-eabi-toolchain-7-2018-q2-update
|
||||
make-arm-none-eabi-toolchain-12.3.rel1
|
||||
|
||||
make-arm-none-eabi-nano-toolchain-4.9
|
||||
make-arm-none-eabi-nano-toolchain-6
|
||||
make-arm-none-eabi-nano-toolchain-7-2018-q2-update
|
||||
make-arm-none-eabi-nano-toolchain-12.3.rel1
|
||||
|
||||
make-gdb-arm-none-eabi
|
||||
|
||||
@@ -468,12 +473,103 @@ embedded-7-branch/")
|
||||
(mlambda ()
|
||||
(make-base-newlib-arm-none-eabi-7-2018-q2-update (make-newlib-nano-arm-none-eabi))))
|
||||
|
||||
|
||||
;;; The following definitions are for the "12.3.rel1" variant of the
|
||||
;;; ARM cross toolchain as offered on https://developer.arm.com
|
||||
(define-public make-gcc-arm-none-eabi-12.3.rel1
|
||||
(mlambda ()
|
||||
(let ((base (make-gcc-arm-none-eabi-7-2018-q2-update))
|
||||
(xgcc-base (cross-gcc "arm-none-eabi"
|
||||
#:xgcc gcc-12
|
||||
#:xbinutils (cross-binutils "arm-none-eabi"))))
|
||||
(package
|
||||
(inherit base)
|
||||
(version "12.3.rel1")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source xgcc-base))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://gcc.gnu.org/git/gcc.git")
|
||||
(commit "0f54a73b998b72f7c8452a63730ec3b16fc47854")))
|
||||
(sha256
|
||||
(base32 "0r6q0m3d8g3k3rkmnqjw8aw5fcnsrmywf4ispdkxmk1al3whk1vk"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'expand-version-string
|
||||
(lambda _
|
||||
(make-file-writable "gcc/DEV-PHASE")
|
||||
(with-output-to-file "gcc/DEV-PHASE"
|
||||
(lambda ()
|
||||
(display "12.3.rel1")))))))
|
||||
((#:configure-flags flags)
|
||||
#~(cons* "--with-multilib-list=aprofile,rmprofile"
|
||||
"--with-headers=yes"
|
||||
"--enable-checking=release"
|
||||
"--with-gnu-as"
|
||||
"--with-gnu-ld"
|
||||
(filter
|
||||
(lambda (flag)
|
||||
(not (member flag
|
||||
'("--with-multilib-list=rmprofile"
|
||||
"--enable-plugins"
|
||||
"--disable-libffi"))))
|
||||
#$flags)))))))))
|
||||
|
||||
(define make-base-newlib-arm-none-eabi-12.3.rel1
|
||||
(mlambda (original-base)
|
||||
(let ((base (make-base-newlib-arm-none-eabi-7-2018-q2-update original-base))
|
||||
(commit "4c7d0dfec5793cbf5cf3930b91f930479126d8ce")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit base)
|
||||
(version (git-version "4.3.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://sourceware.org/git/newlib-cygwin.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0drs9v8avh4y2h5bs0ixjn9x662jzkkikx8z034wgl41dxmn6786"))))
|
||||
(arguments (substitute-keyword-arguments (package-arguments base)
|
||||
((#:configure-flags flags)
|
||||
#~(cons* "--enable-newlib-mb"
|
||||
"--enable-newlib-reent-check-verify"
|
||||
"--enable-newlib-register-fini"
|
||||
#$flags))))))))
|
||||
|
||||
(define make-newlib-arm-none-eabi-12.3.rel1
|
||||
(mlambda ()
|
||||
(make-base-newlib-arm-none-eabi-12.3.rel1 (make-newlib-arm-none-eabi))))
|
||||
|
||||
(define make-newlib-nano-arm-none-eabi-12.3.rel1
|
||||
(mlambda ()
|
||||
(make-base-newlib-arm-none-eabi-12.3.rel1 (make-newlib-nano-arm-none-eabi))))
|
||||
|
||||
|
||||
(define make-libstdc++-arm-none-eabi
|
||||
(mlambda (xgcc newlib)
|
||||
(let ((libstdc++ (make-libstdc++ xgcc)))
|
||||
(let* ((libstdc++ (make-libstdc++ xgcc))
|
||||
(src (package-source libstdc++)))
|
||||
(package
|
||||
(inherit libstdc++)
|
||||
(source
|
||||
(origin
|
||||
(inherit src)
|
||||
(patches (append
|
||||
; libstdc++ cannot be linked with since the configure phase
|
||||
; cannot detect properly the presence of getentropy function.
|
||||
; The function is inside of a header, but it's not present in the resulting
|
||||
; newlib. configure will conclude getentropy is present,
|
||||
; random will use getentropy, and any linking with random will fail.
|
||||
(if (version>=? (package-version xgcc) "12.0")
|
||||
(search-patches "newlib-getentropy.patch")
|
||||
'())
|
||||
(origin-patches src)))))
|
||||
(name "libstdc++-arm-none-eabi")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments libstdc++)
|
||||
@@ -626,6 +722,18 @@ languages are C and C++.")
|
||||
(make-gcc-arm-none-eabi-7-2018-q2-update)
|
||||
(make-newlib-nano-arm-none-eabi-7-2018-q2-update))))
|
||||
|
||||
(define make-arm-none-eabi-toolchain-12.3.rel1
|
||||
(mlambda ()
|
||||
(make-arm-none-eabi-toolchain
|
||||
(make-gcc-arm-none-eabi-12.3.rel1)
|
||||
(make-newlib-arm-none-eabi-12.3.rel1))))
|
||||
|
||||
(define make-arm-none-eabi-nano-toolchain-12.3.rel1
|
||||
(mlambda ()
|
||||
(make-arm-none-eabi-toolchain
|
||||
(make-gcc-arm-none-eabi-12.3.rel1)
|
||||
(make-newlib-nano-arm-none-eabi-12.3.rel1))))
|
||||
|
||||
(define make-gdb-arm-none-eabi
|
||||
(mlambda ()
|
||||
(package
|
||||
|
||||
@@ -0,0 +1,380 @@
|
||||
Patch-Source: https://github.com/zephyrproject-rtos/gcc/pull/8
|
||||
|
||||
From 55addb0c0c5ff5e0aab85574aa26abf175af85c8 Mon Sep 17 00:00:00 2001
|
||||
From: Stephanos Ioannidis <root@stephanos.io>
|
||||
Date: Mon, 25 Jul 2022 23:10:41 +0900
|
||||
Subject: [PATCH] libstdc++: Do not check getentropy and arc4random for cross builds
|
||||
|
||||
The "getentropy" and "arc4random" check may not yield a correct result
|
||||
for the cross compile builds because linking is often not available for
|
||||
them and the C library headers (notoriously, newlib) may still declare
|
||||
these function prototypes even if they are not actually part of the
|
||||
final library -- for this reason, this commit disables the "getentropy"
|
||||
and "arc4random" checks for non-native builds.
|
||||
|
||||
This effectively prevents the std::random_device from making use of
|
||||
these functions when `--with-newlib` is specified, which is indeed a
|
||||
correct behaviour because the newlib does not provide a default stub
|
||||
for the "getentropy" function (also note that the newlib "arc4random"
|
||||
implementation internally calls the missing "getentropy" function).
|
||||
|
||||
For other C libraries, the `GLIBCXX_CROSSCONFIG` function may hard-code
|
||||
the availability of these functions by manually defining
|
||||
`HAVE_GETENTROPY` and `HAVE_ARC4RANDOM`, or by calling the
|
||||
`GLIBCXX_CHECK_GETENTROPY` and `GLIBCXX_CHECK_ARC4RANDOM` functions.
|
||||
|
||||
libstdc++-v3:
|
||||
* configure.ac: Relocate GLIBCXX_CHECK_GETENTROPY and
|
||||
GLIBCXX_CHECK_ARC4RANDOM
|
||||
* configure: Regenerate.
|
||||
|
||||
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
|
||||
---
|
||||
libstdc++-v3/configure | 300 +++++++++++++++++++-------------------
|
||||
libstdc++-v3/configure.ac | 8 +-
|
||||
2 files changed, 154 insertions(+), 154 deletions(-)
|
||||
|
||||
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
|
||||
index 0ce74e8202443..5d43b56b03ffa 100755
|
||||
--- a/libstdc++-v3/configure
|
||||
+++ b/libstdc++-v3/configure
|
||||
@@ -28088,6 +28088,156 @@ $as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
|
||||
|
||||
|
||||
|
||||
+ # Check for other random number APIs
|
||||
+
|
||||
+
|
||||
+
|
||||
+ ac_ext=cpp
|
||||
+ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getentropy" >&5
|
||||
+$as_echo_n "checking for getentropy... " >&6; }
|
||||
+if ${glibcxx_cv_getentropy+:} false; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+
|
||||
+ if test x$gcc_no_link = xyes; then
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <unistd.h>
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+unsigned i;
|
||||
+ ::getentropy(&i, sizeof(i));
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
+ glibcxx_cv_getentropy=yes
|
||||
+else
|
||||
+ glibcxx_cv_getentropy=no
|
||||
+fi
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+else
|
||||
+ if test x$gcc_no_link = xyes; then
|
||||
+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
|
||||
+fi
|
||||
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <unistd.h>
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+unsigned i;
|
||||
+ ::getentropy(&i, sizeof(i));
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_cxx_try_link "$LINENO"; then :
|
||||
+ glibcxx_cv_getentropy=yes
|
||||
+else
|
||||
+ glibcxx_cv_getentropy=no
|
||||
+fi
|
||||
+rm -f core conftest.err conftest.$ac_objext \
|
||||
+ conftest$ac_exeext conftest.$ac_ext
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_getentropy" >&5
|
||||
+$as_echo "$glibcxx_cv_getentropy" >&6; }
|
||||
+
|
||||
+ if test $glibcxx_cv_getentropy = yes; then
|
||||
+
|
||||
+$as_echo "#define HAVE_GETENTROPY 1" >>confdefs.h
|
||||
+
|
||||
+ fi
|
||||
+ ac_ext=c
|
||||
+ac_cpp='$CPP $CPPFLAGS'
|
||||
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ ac_ext=cpp
|
||||
+ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for arc4random" >&5
|
||||
+$as_echo_n "checking for arc4random... " >&6; }
|
||||
+if ${glibcxx_cv_arc4random+:} false; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+
|
||||
+ if test x$gcc_no_link = xyes; then
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <stdlib.h>
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+unsigned i = ::arc4random();
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
+ glibcxx_cv_arc4random=yes
|
||||
+else
|
||||
+ glibcxx_cv_arc4random=no
|
||||
+fi
|
||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
+else
|
||||
+ if test x$gcc_no_link = xyes; then
|
||||
+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
|
||||
+fi
|
||||
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <stdlib.h>
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+unsigned i = ::arc4random();
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_cxx_try_link "$LINENO"; then :
|
||||
+ glibcxx_cv_arc4random=yes
|
||||
+else
|
||||
+ glibcxx_cv_arc4random=no
|
||||
+fi
|
||||
+rm -f core conftest.err conftest.$ac_objext \
|
||||
+ conftest$ac_exeext conftest.$ac_ext
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_arc4random" >&5
|
||||
+$as_echo "$glibcxx_cv_arc4random" >&6; }
|
||||
+
|
||||
+ if test $glibcxx_cv_arc4random = yes; then
|
||||
+
|
||||
+$as_echo "#define HAVE_ARC4RANDOM 1" >>confdefs.h
|
||||
+
|
||||
+ fi
|
||||
+ ac_ext=c
|
||||
+ac_cpp='$CPP $CPPFLAGS'
|
||||
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
+
|
||||
+
|
||||
+
|
||||
# For TLS support.
|
||||
|
||||
|
||||
@@ -75519,156 +75669,6 @@ $as_echo "#define _GLIBCXX_X86_RDSEED 1" >>confdefs.h
|
||||
fi
|
||||
|
||||
|
||||
-# Check for other random number APIs
|
||||
-
|
||||
-
|
||||
-
|
||||
- ac_ext=cpp
|
||||
-ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
-
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getentropy" >&5
|
||||
-$as_echo_n "checking for getentropy... " >&6; }
|
||||
-if ${glibcxx_cv_getentropy+:} false; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-else
|
||||
-
|
||||
- if test x$gcc_no_link = xyes; then
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <unistd.h>
|
||||
-int
|
||||
-main ()
|
||||
-{
|
||||
-unsigned i;
|
||||
- ::getentropy(&i, sizeof(i));
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-_ACEOF
|
||||
-if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
- glibcxx_cv_getentropy=yes
|
||||
-else
|
||||
- glibcxx_cv_getentropy=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
-else
|
||||
- if test x$gcc_no_link = xyes; then
|
||||
- as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
|
||||
-fi
|
||||
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <unistd.h>
|
||||
-int
|
||||
-main ()
|
||||
-{
|
||||
-unsigned i;
|
||||
- ::getentropy(&i, sizeof(i));
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-_ACEOF
|
||||
-if ac_fn_cxx_try_link "$LINENO"; then :
|
||||
- glibcxx_cv_getentropy=yes
|
||||
-else
|
||||
- glibcxx_cv_getentropy=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext \
|
||||
- conftest$ac_exeext conftest.$ac_ext
|
||||
-fi
|
||||
-
|
||||
-fi
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_getentropy" >&5
|
||||
-$as_echo "$glibcxx_cv_getentropy" >&6; }
|
||||
-
|
||||
- if test $glibcxx_cv_getentropy = yes; then
|
||||
-
|
||||
-$as_echo "#define HAVE_GETENTROPY 1" >>confdefs.h
|
||||
-
|
||||
- fi
|
||||
- ac_ext=c
|
||||
-ac_cpp='$CPP $CPPFLAGS'
|
||||
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- ac_ext=cpp
|
||||
-ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
-
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for arc4random" >&5
|
||||
-$as_echo_n "checking for arc4random... " >&6; }
|
||||
-if ${glibcxx_cv_arc4random+:} false; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-else
|
||||
-
|
||||
- if test x$gcc_no_link = xyes; then
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <stdlib.h>
|
||||
-int
|
||||
-main ()
|
||||
-{
|
||||
-unsigned i = ::arc4random();
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-_ACEOF
|
||||
-if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
- glibcxx_cv_arc4random=yes
|
||||
-else
|
||||
- glibcxx_cv_arc4random=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
-else
|
||||
- if test x$gcc_no_link = xyes; then
|
||||
- as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
|
||||
-fi
|
||||
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <stdlib.h>
|
||||
-int
|
||||
-main ()
|
||||
-{
|
||||
-unsigned i = ::arc4random();
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-_ACEOF
|
||||
-if ac_fn_cxx_try_link "$LINENO"; then :
|
||||
- glibcxx_cv_arc4random=yes
|
||||
-else
|
||||
- glibcxx_cv_arc4random=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext \
|
||||
- conftest$ac_exeext conftest.$ac_ext
|
||||
-fi
|
||||
-
|
||||
-fi
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_arc4random" >&5
|
||||
-$as_echo "$glibcxx_cv_arc4random" >&6; }
|
||||
-
|
||||
- if test $glibcxx_cv_arc4random = yes; then
|
||||
-
|
||||
-$as_echo "#define HAVE_ARC4RANDOM 1" >>confdefs.h
|
||||
-
|
||||
- fi
|
||||
- ac_ext=c
|
||||
-ac_cpp='$CPP $CPPFLAGS'
|
||||
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
-
|
||||
-
|
||||
-
|
||||
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
|
||||
|
||||
# Do checks for resource limit functions.
|
||||
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
|
||||
index e59bcdb29441f..05cdfcddbc43b 100644
|
||||
--- a/libstdc++-v3/configure.ac
|
||||
+++ b/libstdc++-v3/configure.ac
|
||||
@@ -269,6 +269,10 @@ if $GLIBCXX_IS_NATIVE; then
|
||||
# For /dev/random and /dev/urandom for std::random_device.
|
||||
GLIBCXX_CHECK_DEV_RANDOM
|
||||
|
||||
+ # Check for other random number APIs
|
||||
+ GLIBCXX_CHECK_GETENTROPY
|
||||
+ GLIBCXX_CHECK_ARC4RANDOM
|
||||
+
|
||||
# For TLS support.
|
||||
GCC_CHECK_TLS
|
||||
|
||||
@@ -474,10 +478,6 @@ GLIBCXX_CHECK_X86_RDRAND
|
||||
# Check if assembler supports rdseed opcode.
|
||||
GLIBCXX_CHECK_X86_RDSEED
|
||||
|
||||
-# Check for other random number APIs
|
||||
-GLIBCXX_CHECK_GETENTROPY
|
||||
-GLIBCXX_CHECK_ARC4RANDOM
|
||||
-
|
||||
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
|
||||
GLIBCXX_CONFIGURE_TESTSUITE
|
||||
|
||||
Reference in New Issue
Block a user