Re: [scsi bug] spurious build failures in aic7xxx

From: Sam Ravnborg
Date: Sat Feb 02 2008 - 11:26:24 EST


On Sat, Feb 02, 2008 at 03:18:57PM +0100, Ingo Molnar wrote:
>
> i should also specify the build environment:
>
> it's a distcc setup with 5-10 hosts active at a time, so highly parallel
> with large, networking related delays. It's make -j130:
>
> nice -15 /usr/bin/time make -j130 bzImage ARCH=i386 \
> CROSS_COMPILE='distcc \
> /opt/crosstool/gcc-4.2.2-glibc-2.3.6/i686-unknown-linux-gnu-'
>
> the build host is a 64-bit quad CPU box, so highly parallel as well.

Impressive setup - I was until now quite satisfied with my new
quad box that Intel has sponsored (thanks to Greg) :-)

I could not reproduce the bug myself but I think I spotted it.
We had a missing dependency to the _reg.h file.
Try following patch and let me now if it continue to break.

Sam

diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile
index e4f70c5..8065590 100644
--- a/drivers/scsi/aic7xxx/Makefile
+++ b/drivers/scsi/aic7xxx/Makefile
@@ -44,13 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c

# Dependencies for generated files need to be listed explicitly

-$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h
-$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_reg.h
-$(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
-$(obj)/aic79xx_core.o: $(obj)/aic79xx_reg.h
-
-$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h
-$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h
+$(addprefix $(obj)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
+$(addprefix $(obj)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h

aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE) := $(obj)/aic7xxx_reg.h
aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/