mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-15 16:07:26 +00:00
samba: Fix configure tests to work with clang
Do not use nested functions ( main inside main ) Use global scope for __thread variables Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
|||||||
|
From 3a935c638605bfb392ca7780d22c08c1a0a71e71 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Thu, 5 Sep 2019 21:37:33 -0700
|
||||||
|
Subject: [PATCH 1/2] lib/replace/wscript: Avoid generating nested main
|
||||||
|
function
|
||||||
|
|
||||||
|
clang is not happy when it sees another main nested inside the main
|
||||||
|
function and fails the test for prctl syscall, therefore avoid adding
|
||||||
|
implicit main() here
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
lib/replace/wscript | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/lib/replace/wscript b/lib/replace/wscript
|
||||||
|
index a7fd25d..d6767fc 100644
|
||||||
|
--- a/lib/replace/wscript
|
||||||
|
+++ b/lib/replace/wscript
|
||||||
|
@@ -137,6 +137,7 @@ def configure(conf):
|
||||||
|
}
|
||||||
|
''',
|
||||||
|
'HAVE_PRCTL',
|
||||||
|
+ addmain=False,
|
||||||
|
headers='sys/prctl.h',
|
||||||
|
msg='Checking for prctl syscall')
|
||||||
|
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
+58
@@ -0,0 +1,58 @@
|
|||||||
|
From c62a6f32ab965de2ec77a614f20f04568116835b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Thu, 5 Sep 2019 21:39:05 -0700
|
||||||
|
Subject: [PATCH 2/2] util_sec.c: Move __thread variable to global scope
|
||||||
|
|
||||||
|
Make clang happy otherwise it complains about variable scope
|
||||||
|
|
||||||
|
fixes
|
||||||
|
|
||||||
|
source3/./lib/util_sec.c:470:4: error: '__thread' variables must have global storage
|
||||||
|
} __thread cache;
|
||||||
|
^
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
source3/lib/util_sec.c | 19 +++++++++++--------
|
||||||
|
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
|
||||||
|
index 9408269..7390318 100644
|
||||||
|
--- a/source3/lib/util_sec.c
|
||||||
|
+++ b/source3/lib/util_sec.c
|
||||||
|
@@ -444,6 +444,17 @@ void become_user_permanently(uid_t uid, gid_t gid)
|
||||||
|
assert_gid(gid, gid);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef HAVE___THREAD
|
||||||
|
+ struct cache_t {
|
||||||
|
+ bool active;
|
||||||
|
+ uid_t uid;
|
||||||
|
+ gid_t gid;
|
||||||
|
+ size_t setlen;
|
||||||
|
+ uintptr_t gidset;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+static __thread struct cache_t cache;
|
||||||
|
+#endif
|
||||||
|
/**********************************************************
|
||||||
|
Function to set thread specific credentials. Leave
|
||||||
|
saved-set uid/gid alone.Must be thread-safe code.
|
||||||
|
@@ -461,14 +472,6 @@ int set_thread_credentials(uid_t uid,
|
||||||
|
* available.
|
||||||
|
*/
|
||||||
|
#ifdef HAVE___THREAD
|
||||||
|
- static struct {
|
||||||
|
- bool active;
|
||||||
|
- uid_t uid;
|
||||||
|
- gid_t gid;
|
||||||
|
- size_t setlen;
|
||||||
|
- uintptr_t gidset;
|
||||||
|
- } __thread cache;
|
||||||
|
-
|
||||||
|
if (cache.active &&
|
||||||
|
cache.uid == uid &&
|
||||||
|
cache.gid == gid &&
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
@@ -24,6 +24,8 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
|
|||||||
file://smb_conf-4.7.0.patch \
|
file://smb_conf-4.7.0.patch \
|
||||||
file://volatiles.03_samba \
|
file://volatiles.03_samba \
|
||||||
file://0001-waf-add-support-of-cross_compile.patch \
|
file://0001-waf-add-support-of-cross_compile.patch \
|
||||||
|
file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \
|
||||||
|
file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \
|
||||||
"
|
"
|
||||||
SRC_URI_append_libc-musl = " \
|
SRC_URI_append_libc-musl = " \
|
||||||
file://samba-pam.patch \
|
file://samba-pam.patch \
|
||||||
|
|||||||
Reference in New Issue
Block a user