Skip to contentSkip to conversation

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

PATCH In review Khem Raj 4 participants 6 messages Oct 18, 2016 – Mar 4, 2018

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

PATCH 1/1 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)
---
 .../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
meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file +35 -0
new file mode 100644
index 0000000..535c22a
@@ -0,0 +1,35 @@
+From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <[email protected]>
+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 <[email protected]>
+
+ 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
+
meta/recipes-support/gnutls/gnutls_3.5.3.bb +1 -0
index b2dbb07..0400588 100644
@@ -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"
Signature · 1 line
2.10.0
#1 lore raw
Quoted 5 lines · Khem Raj

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.

Quoted 9 lines

| ../../../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)

Alex's upgrade makes this redundant for master, but I suspect you'll want to re-send it when we have a Morty maintainer.

Ross

#2 lore raw

PATCH RESEND 1/1 gnutls_3.5.3.bb: Fix native build on distro with kernel < 3.4.17

In reply to Khem Raj

From: Khem Raj <[email protected]>

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)
---
 .../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
meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file +35 -0
new file mode 100644
index 0000000..535c22a
@@ -0,0 +1,35 @@
+From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <[email protected]>
+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 <[email protected]>
+
+ 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
+
meta/recipes-support/gnutls/gnutls_3.5.3.bb +1 -0
index b2dbb07..0400588 100644
@@ -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"
Signature · 1 line
2.7.4
#3 lore raw

ping

Quoted 86 lines · Martin Jansa

From: Khem Raj <[email protected]>

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)

---
 .../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

meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file +24 -0
new file mode 100644
index 0000000..535c22a
@@ -0,0 +1,35 @@
+From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <[email protected]>
+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 <[email protected]>
+
+ 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

meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file +5 -0
+
+ static unsigned have_getrandom(void)
+--
+libgit2 0.24.0
+
meta/recipes-support/gnutls/gnutls_3.5.3.bb +1 -0
index b2dbb07..0400588 100644
@@ -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

#4 lore raw
Quoted 7 lines · Martin Jansa

ping

On Sat, Dec 2, 2017 at 1:37 AM, Martin Jansa <[email protected] <mailto:[email protected]>> wrote:

From: Khem Raj <[email protected] <mailto:[email protected]>>

pick up now for stagging.
armin

Quoted 99 lines

    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 <[email protected]
    <mailto:[email protected]>>
    Signed-off-by: Martin Jansa <[email protected]
    <mailto:[email protected]>>
    ---
     .../gnutls/gnutls/check_SYS_getrandom.patch        | 35
    ++++++++++++++++++++++
     meta/recipes-support/gnutls/gnutls_3.5.3.bb
    <http://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 <[email protected]
    <mailto:[email protected]>>
    +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 <[email protected]
    <mailto:[email protected]>>
    +
    + 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
    <http://gnutls_3.5.3.bb>
    b/meta/recipes-support/gnutls/gnutls_3.5.3.bb <http://gnutls_3.5.3.bb>
    index b2dbb07..0400588 100644
    --- a/meta/recipes-support/gnutls/gnutls_3.5.3.bb
    <http://gnutls_3.5.3.bb>
    +++ b/meta/recipes-support/gnutls/gnutls_3.5.3.bb
    <http://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
#5 lore raw

Seems like what was now merged to morty didn't include this.

Quoted 104 lines · On Wed, Jan 17, 2018 at 8:06 PM, akuster808 <[email protected]> wrote:

On 01/15/2018 12:14 AM, Martin Jansa wrote:

ping

Quoted 2 lines · Martin Jansa

From: Khem Raj <[email protected]>

pick up now for stagging.
armin

Quoted 84 lines

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)

---
 .../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/gn

utls/check_SYS_getrandom.patch

meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file +24 -0
new file mode 100644
index 0000000..535c22a
@@ -0,0 +1,35 @@
+From f26c3979ab0325edb2e410d287bc501cf00e0ac0 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <[email protected]>
+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 <[email protected]>
+
+ 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

meta/recipes-support/gnutls/gnutls/check_SYS_getrandom.patch new file +5 -0
+
+ static unsigned have_getrandom(void)
+--
+libgit2 0.24.0
+
meta/recipes-support/gnutls/gnutls_3.5.3.bb +1 -0
index b2dbb07..0400588 100644
@@ -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