diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch deleted file mode 100644 index b5bfcd025..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch +++ /dev/null @@ -1,74 +0,0 @@ -Subject: [PATCH] syslog-ng: fix segment fault during service start on arm64 - -service start failed since segment fault on arch arm64, -syslog-ng have a submodule ivykis, from ivykis V0.42, -it use pthread_atfork, but for arm64, this symbol is -not included by libpthread, so cause segment fault. - -refer systemd, replace pthread_atfork with __register_atfork -to fix this problem. - -I have create an issue, and this proposal to upstream. -https://github.com/buytenh/ivykis/issues/15 - -Upstream-Status: Pending - -Signed-off-by: Changqing Li <changqing.li@windriver.com> - -Update for 3.24.1. -Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> ---- - lib/ivykis/src/pthr.h | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h -index 29e4be7..5d29096 100644 ---- a/lib/ivykis/src/pthr.h -+++ b/lib/ivykis/src/pthr.h -@@ -24,6 +24,16 @@ - #include <pthread.h> - #include <signal.h> - -+#ifdef __GLIBC__ -+/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc -+ * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against -+ * libpthread, as it is part of glibc anyway. */ -+extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); -+extern void* __dso_handle __attribute__ ((__weak__)); -+#else -+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) -+#endif -+ - #ifdef HAVE_PRAGMA_WEAK - #pragma weak pthread_create - #endif -@@ -36,16 +46,7 @@ static inline int pthreads_available(void) - - #ifdef HAVE_PRAGMA_WEAK - --/* -- * On Linux, pthread_atfork() is defined in libc_nonshared.a (for -- * glibc >= 2.28) or libpthread_nonshared.a (for glibc <= 2.27), and -- * we want to avoid "#pragma weak" for that symbol because that causes -- * it to be undefined even if you link lib*_nonshared.a in explicitly. -- */ --#if !defined(HAVE_LIBC_NONSHARED) && !defined(HAVE_LIBPTHREAD_NONSHARED) --#pragma weak pthread_atfork --#endif -- -+#pragma weak __register_atfork - #pragma weak pthread_create - #pragma weak pthread_detach - #pragma weak pthread_getspecific -@@ -73,7 +74,7 @@ static inline int - pthr_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) - { - if (pthreads_available()) -- return pthread_atfork(prepare, parent, child); -+ return __register_atfork(prepare, parent, child, __dso_handle); - - return ENOSYS; - } --- -2.7.4 - |