From ce18ec34549cf11d84a906c2abe7a492b8687c4f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 2 Dec 2017 00:37:37 +0000 Subject: 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) Signed-off-by: Khem Raj Signed-off-by: Martin Jansa Signed-off-by: Richard Purdie --- .../gnutls/gnutls/check_SYS_getrandom.patch | 35 ++++++++++++++++++++++ meta/recipes-support/gnutls/gnutls_3.5.3.bb | 1 + 2 files changed, 36 insertions(+) create mode 100644 meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch (limited to 'meta/recipes-support') diff --git a/meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch b/meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file mode 100644 index 0000000000..535c22af14 --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch @@ -0,0 +1,35 @@ +From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001 +From: Nikos Mavrogiannopoulos +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 + + 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 + # 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 + diff --git a/meta/recipes-support/gnutls/gnutls_3.5.3.bb b/meta/recipes-support/gnutls/gnutls_3.5.3.bb index b2dbb07124..04005883a9 100644 --- a/meta/recipes-support/gnutls/gnutls_3.5.3.bb +++ b/meta/recipes-support/gnutls/gnutls_3.5.3.bb @@ -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" -- cgit 1.2.3-korg