[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