summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/sysklogd/files/0001-fix-one-rarely-reproduced-parallel-build-problem.patch
blob: 97bf6ae50e17462e546554962d237a4a41ac313d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From dcaa75391ff267c38e776d48c579cdb734b91af3 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 23 Mar 2020 15:52:32 +0800
Subject: [PATCH] fix one rarely reproduced parallel build problem

fix for this issue:
https://github.com/troglobit/sysklogd/issues/17

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Changqing Li <changqing.li@windriver.com>

Upstream-Status: Backport
[https://github.com/troglobit/sysklogd/commit/b88e21d1770a262f0e5d0f6b84f0abd4a5de55b7]

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 src/Makefile.am | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/Makefile.am b/src/Makefile.am
index 993dbfd..06b706d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -56,3 +56,13 @@ libsyslog_la_SOURCES  = syslog.c syslog.h compat.h
 libsyslog_la_CPPFLAGS = $(AM_CPPFLAGS) -D_XOPEN_SOURCE=600
 libsyslog_la_LDFLAGS  = $(AM_LDFLAGS) -version-info 0:0:0
 libsyslog_la_LIBADD   = $(LTLIBOBJS)
+
+# Both libsyslog_la and syslogd/logger requires objects like lib/pidfile.o, for
+# libsyslog_la, the objects should be compiled with -fPIC, but for
+# syslogd/logger, it doesn't need -fPIC, so there is a race issue when the two
+# different lib/pidfile.o are compiled at the same time, which would cause errors like:
+# ld: syslogd-syslogd.o: in function `main':
+# syslogd.c:417: undefined reference to `__pidfile'
+#
+# Make LIBOBJS depend on LTLIBOBJS to fix the problem.
+$(LIBOBJS): $(LTLIBOBJS)
-- 
2.7.4