qt5base-lts/config.tests/unix
Thiago Macieira 120ecc976f QRandomGenerator: use getentropy on Linux & OpenBSD
The getentropy function, first found in OpenBSD, is present in glibc
since version 2.25 and Bionic since Android 6.0 and NDK r11. It uses the
Linux 3.17 getrandom system call. Unlike glibc's getrandom() wrapper,
the glibc implementation of getentropy() function is not a POSIX thread
cancellation point, so we prefer to use that even though we have to
break the reading into 256-byte blocks.

The big advantage is that these functions work even in the absence of a
/dev/urandom device node, in addition to a few cycles shaved off by not
having to open a file descriptor and close it at exit. What's more, the
glibc implementation blocks until entropy is available on early boot, so
we don't have to worry about a failure mode. The Bionic implementation
will fall back by itself to /dev/urandom and, failing that, gathering
entropy from elsewhere in the system in a way it cannot fail either.

uClibc has a wrapper to getrandom(2) but no getentropy(3). MUSL has
neither.

Change-Id: Ia53158e207a94bf49489fffd14c8cee1b968a619
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-06-30 21:19:10 +00:00
..
clock-gettime rework detection and use of clock_gettime()/librt 2017-06-17 06:48:04 +00:00
clock-monotonic rework detection and use of clock_gettime()/librt 2017-06-17 06:48:04 +00:00
cloexec Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-29 10:10:22 +02:00
cups rewrite library handling in configure 2016-08-18 17:09:52 +00:00
cxx11_random QRandomGenerator: don't internally rely on QT_HAS_INCLUDE 2017-06-20 16:37:35 +00:00
db2 rewrite library handling in configure 2016-08-18 17:09:52 +00:00
dbus rewrite library handling in configure 2016-08-18 17:09:52 +00:00
dlopen config.tests: Replace LGPL21 with LGPL license header 2017-03-03 07:26:50 +00:00
doubleconversion rewrite library handling in configure 2016-08-18 17:09:52 +00:00
evdev Add evdev support for FreeBSD 2016-10-06 15:50:44 +00:00
eventfd Update the Intel copyright year 2016-01-21 22:44:16 +00:00
fontconfig fix freetype/fontconfig configure system 2016-10-04 20:20:39 +00:00
freetype fix freetype/fontconfig configure system 2016-10-04 20:20:39 +00:00
futimens QFileDevice/QFileInfo: Add fileTime() and setFileTime() 2017-04-27 18:44:15 +00:00
futimes QFileDevice/QFileInfo: Add fileTime() and setFileTime() 2017-04-27 18:44:15 +00:00
futimesat QFileDevice/QFileInfo: Add fileTime() and setFileTime() 2017-04-27 18:44:15 +00:00
getaddrinfo rewrite library handling in configure 2016-08-18 17:09:52 +00:00
getentropy QRandomGenerator: use getentropy on Linux & OpenBSD 2017-06-30 21:19:10 +00:00
getifaddrs rewrite library handling in configure 2016-08-18 17:09:52 +00:00
glib Updated license headers 2016-01-15 12:25:24 +00:00
gnu-libiconv rewrite library handling in configure 2016-08-18 17:09:52 +00:00
harfbuzz rewrite library handling in configure 2016-08-18 17:09:52 +00:00
ibase rewrite library handling in configure 2016-08-18 17:09:52 +00:00
iconv Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-06 09:04:55 +02:00
icu rewrite library handling in configure 2016-08-18 17:09:52 +00:00
inotify Updated license headers 2016-01-15 12:25:24 +00:00
ipc_posix Updated license headers 2016-01-15 12:25:24 +00:00
ipc_sysv Updated license headers 2016-01-15 12:25:24 +00:00
ipv6ifname rewrite library handling in configure 2016-08-18 17:09:52 +00:00
journald rewrite library handling in configure 2016-08-18 17:09:52 +00:00
lgmon rewrite library handling in configure 2016-08-18 17:09:52 +00:00
libinput rewrite library handling in configure 2016-08-18 17:09:52 +00:00
libinput_axis_api Migrate libinput support away from QT_LIBRARY_VERSION 2016-10-10 16:59:26 +00:00
libjpeg Merge remote-tracking branch 'origin/5.7' into 5.8 2016-09-21 11:57:52 +02:00
libpng rewrite library handling in configure 2016-08-18 17:09:52 +00:00
libudev rewrite library handling in configure 2016-08-18 17:09:52 +00:00
mremap Updated license headers 2016-01-15 12:25:24 +00:00
mtdev rewrite library handling in configure 2016-08-18 17:09:52 +00:00
mysql rewrite library handling in configure 2016-08-18 17:09:52 +00:00
objcopy Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-06 09:04:55 +02:00
oci rewrite library handling in configure 2016-08-18 17:09:52 +00:00
odbc rewrite library handling in configure 2016-08-18 17:09:52 +00:00
opengldesktop Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-16 12:35:36 +01:00
opengles2 Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-16 12:35:36 +01:00
opengles3 Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-16 12:35:36 +01:00
opengles31 rewrite library handling in configure 2016-08-18 17:09:52 +00:00
opengles32 Add support for OpenGL ES 3.2 in QOpenGLExtraFunctions 2017-06-30 18:12:58 +00:00
openssl Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-06 09:04:55 +02:00
openvg Enable support for OpenVG 2016-11-17 15:00:00 +00:00
pcre2 PCRE2: fix the configure test 2017-03-28 07:09:01 +00:00
poll Updated license headers 2016-01-15 12:25:24 +00:00
pollts Updated license headers 2016-01-15 12:25:24 +00:00
posix_fallocate Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-29 10:10:22 +02:00
ppoll Updated license headers 2016-01-15 12:25:24 +00:00
pps rewrite library handling in configure 2016-08-18 17:09:52 +00:00
psql rewrite library handling in configure 2016-08-18 17:09:52 +00:00
qqnx_imf rewrite library handling in configure 2016-08-18 17:09:52 +00:00
reduce_exports get rid of test type 'shell' 2016-08-12 22:04:50 +00:00
reduce_relocs get rid of test type 'shell' 2016-08-12 22:04:50 +00:00
sctp rewrite library handling in configure 2016-08-18 17:09:52 +00:00
slog2 rewrite library handling in configure 2016-08-18 17:09:52 +00:00
sqlite Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-29 10:10:22 +02:00
sqlite2 rewrite library handling in configure 2016-08-18 17:09:52 +00:00
stack-protector Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
stl Updated license headers 2016-01-15 12:25:24 +00:00
sun-libiconv Disable app_bundle and lib_bundle when running configure tests 2013-07-16 13:44:18 +02:00
sys_auxv QRandomGenerator: don't internally rely on QT_HAS_INCLUDE 2017-06-20 16:37:35 +00:00
syslog Updated license headers 2016-01-15 12:25:24 +00:00
tds rewrite library handling in configure 2016-08-18 17:09:52 +00:00
tslib rewrite library handling in configure 2016-08-18 17:09:52 +00:00
xkbcommon Updated license headers 2016-01-15 12:25:24 +00:00
zlib rewrite library handling in configure 2016-08-18 17:09:52 +00:00
which.test Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00