[oe] [meta-networking][PATCH 3/4] opensaf: Add configure time check to detect gettid API in libc

Khem Raj raj.khem at gmail.com
Sat Jul 27 18:59:36 UTC 2019


Also fixes build with glibc 2.30

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 ...-configure-time-check-for-gettid-API.patch | 67 +++++++++++++++++++
 .../opensaf/opensaf_5.19.03.bb                |  1 +
 2 files changed, 68 insertions(+)
 create mode 100644 meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch

diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch
new file mode 100644
index 0000000000..2b03b1800a
--- /dev/null
+++ b/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch
@@ -0,0 +1,67 @@
+From 91c7362834ccd88d1432b3e6c5c51748b72b10ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Sat, 27 Jul 2019 07:21:16 -0700
+Subject: [PATCH] Add configure time check for gettid API
+
+glibc 2.30 has added syscalls wrapper for gettid
+it should now be checked during configure if C library provides
+this API then do not define local function
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+ configure.ac         | 4 ++++
+ src/base/logtrace.cc | 3 +++
+ src/osaf/config.h.in | 3 +++
+ 3 files changed, 10 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 22ab936..90f3da4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -480,6 +480,10 @@ fi
+ 
+ AC_SUBST([localstatedir])
+ 
++#############################################
++# Checks for functions.
++#############################################
++AC_CHECK_FUNCS([ gettid ])
+ 
+ #############################################
+ # Checks for programs.
+diff --git a/src/base/logtrace.cc b/src/base/logtrace.cc
+index 8908c1f..fe87e8d 100644
+--- a/src/base/logtrace.cc
++++ b/src/base/logtrace.cc
+@@ -31,6 +31,7 @@
+ #include "base/logtrace_client.h"
+ #include "base/logtrace_buffer.h"
+ #include "base/ncsgl_defs.h"
++#include "osaf/config.h"
+ 
+ namespace global {
+ 
+@@ -58,7 +59,9 @@ std::once_flag init_flag;
+ thread_local LogTraceBuffer gl_thread_buffer{gl_local_thread_trace,
+   global::thread_trace_buffer_size};
+ 
++#ifndef HAVE_GETTID
+ static pid_t gettid() { return syscall(SYS_gettid); }
++#endif
+ 
+ /**
+  * USR2 signal handler to enable/disable trace (toggle)
+diff --git a/src/osaf/config.h.in b/src/osaf/config.h.in
+index d1f6d1a..0a3f27d 100644
+--- a/src/osaf/config.h.in
++++ b/src/osaf/config.h.in
+@@ -18,6 +18,9 @@
+ /* Define if experimental code is enabled */
+ #undef HAVE_EXPERIMENTAL
+ 
++/* Define to 1 if you have the `gettid' function. */
++#undef HAVE_GETTID
++
+ /* SAHPI_INTERFACE_VERSION == A01 */
+ #undef HAVE_HPI_A01
+ 
diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
index 0cccebdfcd..505c087f17 100644
--- a/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
+++ b/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
@@ -24,6 +24,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
            file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
            file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
            file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
+           file://0001-Add-configure-time-check-for-gettid-API.patch \
            "
 SRC_URI[md5sum] = "4dd1497ccd82d275735853bf0db5c510"
 SRC_URI[sha256sum] = "de42c8dd850990716ca494ca598165cc7a23b5b7f2bc21af5d71a3d971ddd595"
-- 
2.22.0



More information about the Openembedded-devel mailing list