gnutls_3.5.3.bb: Fix native build on distro with kernel < 3.4.17

When using distros which use old kernels gnutls fails to build
due to missing SYS_getrandom, therefore we need to check for this
before using it.
Fixes errorr e.g.

| ../../../gnutls-3.5.3/lib/nettle/rnd-linux.c: In function 'have_getrandom':
| ../../../gnutls-3.5.3/lib/nettle/rnd-linux.c:59:42: error: 'SYS_getrandom' undeclared (first use in this function)
|  #  define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, (size_t)s, (unsigned int)flags)

(From OE-Core rev: ce18ec34549cf11d84a906c2abe7a492b8687c4f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2017-12-02 00:37:37 +00:00 committed by Richard Purdie
parent 97690dfe87
commit a9cf5f2a6e
2 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,35 @@
From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
Date: Mon, 22 Aug 2016 16:32:34 +0200
Subject: [PATCH] rnd-linux: added check for SYS_getrandom being defined
This allows to compile the getrandom() code in old Linux systems
which do not have the system call defined.
---
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
lib/nettle/rnd-linux.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/nettle/rnd-linux.c b/lib/nettle/rnd-linux.c
index d7f07a6..7a24d05 100644
--- a/lib/nettle/rnd-linux.c
+++ b/lib/nettle/rnd-linux.c
@@ -56,7 +56,11 @@ static dev_t _gnutls_urandom_fd_rdev = 0;
# else
# include <sys/syscall.h>
# undef getrandom
-# define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, (size_t)s, (unsigned int)flags)
+# if defined(SYS_getrandom)
+# define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, (size_t)s, (unsigned int)flags)
+# else
+# define getrandom(dst,s,flags) -1
+# endif
# endif
static unsigned have_getrandom(void)
--
libgit2 0.24.0

View File

@ -4,6 +4,7 @@ SRC_URI += "file://correct_rpl_gettimeofday_signature.patch \
file://0001-configure.ac-fix-sed-command.patch \
file://use-pkg-config-to-locate-zlib.patch \
file://0001-Use-correct-include-dir-with-minitasn.patch \
file://check_SYS_getrandom.patch \
file://CVE-2016-7444.patch \
"
SRC_URI[md5sum] = "6c2c7f40ddf52933ee3ca474cb8cb63c"