Signed-off-by: Alexander Kanavin <[email protected]>
---
 ...o-detect-non-posix-extensions-for-pt.patch | 41 ++++++++++++++++
 ...-either-pthread-affinity-set-methods.patch | 47 +++++++++++++++++++
 .../{rng-tools_6.13.bb => rng-tools_6.14.bb}  | 15 +++---
 3 files changed, 96 insertions(+), 7 deletions(-)
 create mode 100644 
meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch
 create mode 100644 
meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
 rename meta/recipes-support/rng-tools/{rng-tools_6.13.bb => rng-tools_6.14.bb} 
(84%)

diff --git 
a/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch
 
b/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch
new file mode 100644
index 0000000000..89edc4c403
--- /dev/null
+++ 
b/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch
@@ -0,0 +1,41 @@
+From 66e6adc138eef1367d7492fb79ae4da84ed62934 Mon Sep 17 00:00:00 2001
+From: Neil Horman <[email protected]>
+Date: Thu, 15 Jul 2021 08:43:01 -0400
+Subject: [PATCH] Adding ability to detect non-posix extensions for pthreads
+
+Theres a desire to build rngd with musl, which doesn't have all the gnu
+extensions (but it has some).  So test for those.  Note, this requires
+the addition of the USE_EXTENSIONS macro to enable -d_GNU_SOURCE
+
+Upstream-Status: Backport
+Signed-off-by: Neil Horman <[email protected]>
+Signed-off-by: Alexander Kanavin <[email protected]>
+---
+ configure.ac | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9df633d..d0c2179 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,6 +25,7 @@ AC_CANONICAL_TARGET dnl required for broken AX_PTHREAD
+ AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS([rng-tools-config.h])
+ AC_CONFIG_MACRO_DIRS([m4])
++AC_USE_SYSTEM_EXTENSIONS
+ 
+ dnl Parse options
+ 
+@@ -100,6 +101,12 @@ AS_IF(
+       ], [AC_MSG_NOTICE([Disabling JITTER entropy source])]
+ )
+ 
++AC_CHECK_DECL(pthread_attr_setaffinity_np,
++              [AC_DEFINE([HAVE_PTHREAD_ATTR_SETAFFINITY], 1,[Set 
ATTR_SETAFFINITY])],
++              [ AC_CHECK_DECL(pthread_setaffinity_np,
++                 [AC_DEFINE([HAVE_PTHREAD_SETAFFINITY],1, [Set 
PTHREAD_SETAFFINITY])], [ AC_MSG_ERROR([Neither pthread_setaffinity_np nor 
pthread_attr_setaffinity_np found])],[[#include <pthread.h>]])
++              ], [[#include <pthread.h>]])
++
+ AS_IF(
+       [ test "x$with_nistbeacon" != "xno"],
+       [
diff --git 
a/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
 
b/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
new file mode 100644
index 0000000000..f7470d04bf
--- /dev/null
+++ 
b/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
@@ -0,0 +1,47 @@
+From e4909f329245db52415102e96fc7c99ca1445d05 Mon Sep 17 00:00:00 2001
+From: Neil Horman <[email protected]>
+Date: Thu, 15 Jul 2021 08:48:10 -0400
+Subject: [PATCH] Allow for use of either pthread affinity set methods
+
+musl has support for pthread_setaffinity_np, but not
+pthread_attr_setaffinity_np.  so check for hte existence of either
+function in configure, and use the appropriate one.
+
+Upstream-Status: Backport
+Signed-off-by: Neil Horman <[email protected]>
+Signed-off-by: Alexander Kanavin <[email protected]>
+---
+ rngd_jitter.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/rngd_jitter.c b/rngd_jitter.c
+index ea29436..5c7e09e 100644
+--- a/rngd_jitter.c
++++ b/rngd_jitter.c
+@@ -67,12 +67,25 @@ static int rngd_notime_start(void *ctx,
+       for(i=i-1;i>=0;i--) {
+               CPU_SET(i,cpus);
+       }
+-      pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, 
cpus);
+ 
++        /*
++       * Note that only one of:
++       * HAVE_PTHREAD_ATTR_SETAFFINITY
++       * and
++       * HAVE_PTHREAD_SETAFFINITY
++       * Will ever be set, as per the configure.ac logic
++       */
++#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY
++      pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, 
cpus);
++#endif
+       ret = -pthread_create(&thread_ctx->notime_thread_id,
+                               &thread_ctx->notime_pthread_attr,
+                               start_routine, arg);
+ 
++#ifdef HAVE_PTHREAD_SETAFFINITY
++      pthread_setaffinity_np(&thread_ctx->notime_thread_id, cpusize, cpus);
++#endif
++
+       CPU_FREE(cpus);
+       return ret;
+ }
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.13.bb 
b/meta/recipes-support/rng-tools/rng-tools_6.14.bb
similarity index 84%
rename from meta/recipes-support/rng-tools/rng-tools_6.13.bb
rename to meta/recipes-support/rng-tools/rng-tools_6.14.bb
index 84dbc76855..6b79a3b040 100644
--- a/meta/recipes-support/rng-tools/rng-tools_6.13.bb
+++ b/meta/recipes-support/rng-tools/rng-tools_6.14.bb
@@ -8,13 +8,14 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 DEPENDS = "sysfsutils openssl"
 
-SRC_URI = "\
-    git://github.com/nhorman/rng-tools.git \
-    file://init \
-    file://default \
-    file://rngd.service \
-"
-SRCREV = "d8dac0e8bede73e42b3d59f3b48c662ad0032e8c"
+SRC_URI = "git://github.com/nhorman/rng-tools.git \
+           file://init \
+           file://default \
+           file://rngd.service \
+           
file://0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch \
+           
file://0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch \
+           "
+SRCREV = "c16176d3800b91f4d016b66733b384493b06f294"
 
 S = "${WORKDIR}/git"
 
-- 
2.31.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#155128): 
https://lists.openembedded.org/g/openembedded-core/message/155128
Mute This Topic: https://lists.openembedded.org/mt/85060438/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to