All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libtraceevent: avoid racing recursive builds of both libraries
@ 2026-04-05 22:21 CaoRuichuang
  2026-04-06  6:28 ` [PATCH v2] " CaoRuichuang
  0 siblings, 1 reply; 5+ messages in thread
From: CaoRuichuang @ 2026-04-05 22:21 UTC (permalink / raw)
  To: linux-trace-devel; +Cc: rostedt, tz.stoyanov, create0818

A top-level parallel build currently starts separate recursive makes for
libtraceevent.a and libtraceevent.so. Both sub-makes rebuild the same
object files in the same output directory, which can corrupt the .o
files and make the final link fail with file format errors.

Make the default libs target descend into src/ only once and build the
shared library plus static archive from the same sub-make. Keep the
individual top-level library targets unchanged for direct use.

This reliably fixes repeated `make -j8` and `make -j8 libs` failures in a
Linux VM, where the unfixed tree reproduces the race within a few runs.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=217428
Signed-off-by: CaoRuichuang <create0818@163.com>
---
 Makefile | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index e1a10a0..faaeb6c 100644
--- a/Makefile
+++ b/Makefile
@@ -183,9 +183,9 @@ build := -f $(srctree)/build/Makefile.build dir=. obj
 
 LIB_TARGET := libtraceevent.so libtraceevent.a
 
-CMD_TARGETS = $(LIB_TARGET) $(PKG_CONFIG_FILE)
+CMD_TARGETS = libs $(PKG_CONFIG_FILE)
 
-TARGETS = $(CMD_TARGETS)
+TARGETS = $(LIB_TARGET) $(PKG_CONFIG_FILE)
 
 all: all_cmd plugins
 
@@ -206,7 +206,8 @@ all_cmd: $(CMD_TARGETS)
 libtraceevent.a: $(bdir) $(LIBTRACEEVENT_STATIC)
 libtraceevent.so: $(bdir) $(LIBTRACEEVENT_SHARED)
 
-libs: libtraceevent.a libtraceevent.so
+libs: $(bdir) force
+	$(Q)$(call descend,$(src)/src,libtraceevent.so $(LIBTRACEEVENT_STATIC))
 
 $(LIBTRACEEVENT_STATIC): force
 	$(Q)$(call descend,$(src)/src,$@)
-- 
2.39.5 (Apple Git-154)


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-06-01 14:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-05 22:21 [PATCH] libtraceevent: avoid racing recursive builds of both libraries CaoRuichuang
2026-04-06  6:28 ` [PATCH v2] " CaoRuichuang
2026-05-29 18:07   ` Steven Rostedt
2026-06-01  8:20     ` [PATCH v3] " Cao Ruichuang
2026-06-01 14:03       ` Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.