Skip to contentSkip to conversation

tc: make tc linking depend on libtc.a

PATCH Applied David Michael 2 participants 2 messages Jan 3, 2017 – Jan 9, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tc: make tc linking depend on libtc.a

There was a race condition where the command to link the tc binary could (rarely) run before the libtc.a archive existed.
---

Hi,

I've hit a random failure during parallel builds:

ld: cannot find -ltc

The issue seems to be that both tc and libtc.a are permitted to build in parallel, when tc actually depends on libtc.a. This patch adjusts the Make prerequisites accordingly. Can something like this be applied?

Thanks.

David

 tc/Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
tc/Makefile +4 -4
index bb90114..7fd0c4a 100644
@@ -96,7 +96,7 @@ ifneq ($(TC_CONFIG_NO_XT),y)
 endif
 
 TCOBJ += $(TCMODULES)
-LDLIBS += -L. -ltc -lm
+LDLIBS += -L. -lm
 
 ifeq ($(SHARED_LIBS),y)
 LDLIBS += -ldl
@@ -124,13 +124,13 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
 	$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic $< -o $@
 
 
-all: libtc.a tc $(TCSO)
+all: tc $(TCSO)
 
-tc: $(TCOBJ) $(TCLIB)
+tc: $(TCOBJ) libtc.a
 	$(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
 
 libtc.a: $(TCLIB)
-	$(QUIET_AR)$(AR) rcs $@ $(TCLIB)
+	$(QUIET_AR)$(AR) rcs $@ $^
 
 install: all
 	mkdir -p $(MODDESTDIR)
Signature · 1 line
2.7.4
#1 lore raw
Quoted 2 lines · On Tue, 03 Jan 2017 15:32:46 -0800 David Michael <[email protected]>…

There was a race condition where the command to link the tc binary could (rarely) run before the libtc.a archive existed.

Applied, thanks.
I guess I need a 64 CPU machine.