diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-04-19 16:13:27 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-04-21 12:05:55 -0400 |
commit | 5224c2c7068ea538d2523ad033172450ccac147d (patch) | |
tree | 5e58e871bbc885c1ac21c05cd1453478612e27a3 | |
parent | d1c536f5028bd924ba3c9b0ad10ba5b681b11ab6 (diff) | |
download | systemd-5224c2c7068ea538d2523ad033172450ccac147d.tar.gz systemd-5224c2c7068ea538d2523ad033172450ccac147d.tar.bz2 systemd-5224c2c7068ea538d2523ad033172450ccac147d.zip |
basic/random-util: add new header for getrandom()
There's some confusion: older man pages specify that linux/random.h
contains getrandom, but newer glibc has it in sys/random.h. Detect if
the newer header is available and include it. We still need the older
header for the flags.
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | src/basic/random-util.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 3436a9d8a6..13e758331e 100644 --- a/configure.ac +++ b/configure.ac @@ -328,7 +328,6 @@ AC_CHECK_DECLS([ pivot_root, name_to_handle_at, setns, - getrandom, renameat2, kcmp, keyctl, @@ -343,6 +342,13 @@ AC_CHECK_DECLS([ #include <sched.h> #include <string.h> #include <linux/loop.h> +]]) + +AC_CHECK_DECLS([getrandom], + [AC_DEFINE([USE_SYS_RANDOM_H], [], [sys/random.h is usable])], + [AC_CHECK_DECLS([getrandom], [], [], [[ +#include <sys/random.h> +]])], [[ #include <linux/random.h> ]]) diff --git a/src/basic/random-util.c b/src/basic/random-util.c index ad7b3eedf2..b216be579d 100644 --- a/src/basic/random-util.c +++ b/src/basic/random-util.c @@ -27,7 +27,13 @@ #include <stdint.h> #ifdef HAVE_SYS_AUXV_H -#include <sys/auxv.h> +# include <sys/auxv.h> +#endif + +#ifdef USE_SYS_RANDOM_H +# include <sys/random.h> +#else +# include <linux/random.h> #endif #include "fd-util.h" |