2002-09-17 07:30:00

by Rusty Russell

[permalink] [raw]
Subject: 2.5.35 make race?

Hi Kai,

First make -j3 on a 2-way SMP box fails. The second one
succeeds. I think a dependency is missing?

cd ~/working-2.5.35-modbase-try/
make -j3
Making asm->asm-i386 symlink
Generating include/linux/version.h CPP
HOSTCC scripts/fixdep
/bin/sh: /usr/home/rusty/working-2.5.35-modbase-try/scripts/fixdep: No such file or directory
(updated)
make: *** [arch/i386/vmlinux.lds.s] Error 1
make: *** Waiting for unfinished jobs....
HOSTCC scripts/split-include
HOSTCC scripts/docproc
HOSTCC scripts/conmakehash

Compilation exited abnormally with code 2 at Tue Sep 17 17:38:27

Thanks,
Rusty
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.


2002-09-17 16:38:38

by Sam Ravnborg

[permalink] [raw]
Subject: Re: 2.5.35 make race?

On Tue, Sep 17, 2002 at 05:33:45PM +1000, Rusty Russell wrote:
> Hi Kai,
>
> First make -j3 on a 2-way SMP box fails. The second one
> succeeds. I think a dependency is missing?

Yep, "if_changed_dep" uses fixdep, so a dependency to scripts is needed.
Added echo_target as well, so the result file is printed as well.


===== Makefile 1.297 vs edited =====
--- 1.297/Makefile Mon Sep 16 02:45:07 2002
+++ edited/Makefile Tue Sep 17 18:38:37 2002
@@ -323,7 +323,7 @@

AFLAGS_vmlinux.lds.o += -P -C -U$(ARCH)

-arch/$(ARCH)/vmlinux.lds.s: arch/$(ARCH)/vmlinux.lds.S FORCE
+arch/$(ARCH)/vmlinux.lds.s: arch/$(ARCH)/vmlinux.lds.S scripts FORCE
$(call if_changed_dep,as_s_S)

targets += arch/$(ARCH)/vmlinux.lds.s
@@ -788,6 +788,7 @@

# FIXME Should go into a make.lib or something
# ===========================================================================
+echo_target = $(RELDIR)/$@

a_flags = -Wp,-MD,$(depfile) $(AFLAGS) $(NOSTDINC_FLAGS) \
$(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)

2002-09-17 19:54:39

by Kai Germaschewski

[permalink] [raw]
Subject: Re: 2.5.35 make race?

On Tue, 17 Sep 2002, Sam Ravnborg wrote:

> On Tue, Sep 17, 2002 at 05:33:45PM +1000, Rusty Russell wrote:
> > Hi Kai,
> >
> > First make -j3 on a 2-way SMP box fails. The second one
> > succeeds. I think a dependency is missing?
>
> Yep, "if_changed_dep" uses fixdep, so a dependency to scripts is needed.
> Added echo_target as well, so the result file is printed as well.

Yes, that's true, and your patch is correct.

Still, I'm not quite happy with having the .S -> .s rule duplicated
between Makefile and Rules.make, if I figure out a way to use the
Rules.make one, this fixdep problem should go away as well.

--Kai