aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-07-26 18:29:19 -0700
committerKhem Raj <raj.khem@gmail.com>2019-08-08 10:04:23 -0700
commit381508f909a1279a42dfb6e7a12a9da06a752312 (patch)
treea927c19b5f1d4d117f6ceb8fe2e0d2d4ee316d98
parent5f05cba746edc15d674c870262bc1c5bce23f2c4 (diff)
downloadmeta-openembedded-contrib-381508f909a1279a42dfb6e7a12a9da06a752312.tar.gz
python-grpcio: Use gettid API from glibc 2.30+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-python/recipes-devtools/python/python-grpcio.inc1
-rw-r--r--meta-python/recipes-devtools/python/python-grpcio/gettid.patch26
2 files changed, 27 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python-grpcio.inc b/meta-python/recipes-devtools/python/python-grpcio.inc
index fd341f5de7..7d3675c455 100644
--- a/meta-python/recipes-devtools/python/python-grpcio.inc
+++ b/meta-python/recipes-devtools/python/python-grpcio.inc
@@ -9,6 +9,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
file://ppc-boringssl-support.patch \
file://riscv64_support.patch \
+ file://gettid.patch \
"
RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
diff --git a/meta-python/recipes-devtools/python/python-grpcio/gettid.patch b/meta-python/recipes-devtools/python/python-grpcio/gettid.patch
new file mode 100644
index 0000000000..fb15cf7f96
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-grpcio/gettid.patch
@@ -0,0 +1,26 @@
+use glibc provided gettid API for glibc 2.30+
+
+glibc 2.30 introduced this function see [1]
+so it's best to detect it
+and provide fallback only if it's not present
+
+[1] https://sourceware.org/bugzilla/show_bug.cgi?id=6399
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/core/lib/gpr/log_linux.cc
++++ b/src/core/lib/gpr/log_linux.cc
+@@ -40,7 +40,13 @@
+ #include <time.h>
+ #include <unistd.h>
+
++#if defined(__GLIBC__)
++#if !__GLIBC_PREREQ(2,29)
+ static long gettid(void) { return syscall(__NR_gettid); }
++#endif
++#else
++static long gettid(void) { return syscall(__NR_gettid); }
++#endif
+
+ void gpr_log(const char* file, int line, gpr_log_severity severity,
+ const char* format, ...) {