[OE-core] [morty][RESEND][PATCH] gnutls_3.5.3.bb: Fix native build on distro with kernel < 3.4.17
Martin Jansa
martin.jansa at gmail.com
Mon Jan 15 08:14:54 UTC 2018
ping
On Sat, Dec 2, 2017 at 1:37 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> From: Khem Raj <raj.khem at gmail.com>
>
> 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 <raj.khem at gmail.com>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
> .../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
>
> 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 0000000..535c22a
> --- /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 <nmav at 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 at 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
> +
> diff --git a/meta/recipes-support/gnutls/gnutls_3.5.3.bb
> b/meta/recipes-support/gnutls/gnutls_3.5.3.bb
> index b2dbb07..0400588 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"
> --
> 2.7.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180115/8fb0f72b/attachment-0002.html>
More information about the Openembedded-core
mailing list