From cff233001de6fe9f53cff3f7e7cb9f3ea21c6b15 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 11 Mar 2019 18:11:13 +0100 Subject: [PATCH 1/1] shared/systemd: fix gettid() compat implementation shadowing function from glibc On Fedora rawhide we get the following build failure: In file included from shared/systemd/src/basic/alloc-util.c:3: ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:114:21: error: static declaration of 'gettid' follows non-static declaration 114 | static inline pid_t gettid(void) { | ^~~~~~ In file included from /usr/include/unistd.h:1170, from /usr/include/glib-2.0/gio/gcredentials.h:32, from /usr/include/glib-2.0/gio/gio.h:46, from ./shared/nm-utils/nm-macros-internal.h:31, from ./shared/nm-default.h:293, from ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:22, from shared/systemd/src/basic/alloc-util.c:3: /usr/include/bits/unistd_ext.h:34:16: note: previous declaration of 'gettid' was here 34 | extern __pid_t gettid (void) __THROW; | ^~~~~~ glibc supports now gettid() call ([1]) which conflicts with our compat implementation. Rename it. [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92 (cherry picked from commit 10276322bde8f015e48ac06f6a7509f514eb46f0) (cherry picked from commit cfb970b2778d7bde97fea4f5718d4a2a9a9d68f5) --- shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h index 06008ce86..b10722d71 100644 --- a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h +++ b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h @@ -111,9 +111,10 @@ raw_getpid (void) { #endif } -static inline pid_t gettid(void) { +static inline pid_t _nm_gettid(void) { return (pid_t) syscall(SYS_gettid); } +#define gettid() _nm_gettid () /* we build with C11 and thus provides char32_t,char16_t. */ #define HAVE_CHAR32_T 1 -- 2.20.1