libkae/0001-Don-t-redefine-gettid-if-glibc-provides-it.patch

39 lines
1.0 KiB
Diff

From 04f80ac2c822543f130c30942560e4a3300f8481 Mon Sep 17 00:00:00 2001
From: lingsheng <lingsheng@huawei.com>
Date: Tue, 28 Jul 2020 09:41:05 +0800
Subject: [PATCH] Don't redefine gettid if glibc provides it
glibc 2.30+ include a definition for gettid() so that users don't have
to manually define gettid() with syscall().
Old code don't check this, this will redefine gettid() on the latest
versions of glibc, causing build fail.
Signed-off-by: lingsheng <lingsheng@huawei.com>
---
KAE/utils/engine_utils.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/KAE/utils/engine_utils.h b/KAE/utils/engine_utils.h
index 160e449..12a587e 100644
--- a/KAE/utils/engine_utils.h
+++ b/KAE/utils/engine_utils.h
@@ -28,7 +28,15 @@
#include <sys/types.h>
#include <sys/syscall.h>
+#if __GLIBC_PREREQ(2, 30)
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <unistd.h>
+#else
#define gettid() syscall(SYS_gettid)
+#endif
+
#define PRINTPID \
US_DEBUG("pid=%d, ptid=%lu, tid=%d", getpid(), pthread_self(), gettid())
--
2.23.0