Hi mpe, >> Further analysis suggests that making with -j1 triggers the issue, but >> everything works with -j2 and above. That would make sense with the >> timeline of when I discovered the issue because I changed my build >> script to not build in parallel. > > I don't get why -j makes a difference, but that does explain why we > haven't seen it, none of my tests use -j 1 :)
I don't understand either - only that with -j1 V=1 I get powerpc64le-linux-gnu-gcc ... -c -o arch/powerpc/boot/serial.o arch/powerpc/boot/serial.c and with -j2 I get: powerpc64le-linux-gnu-gcc ... -c -o arch/powerpc/boot/serial.o /home/dja/dev/linux/linux/arch/powerpc/boot/serial.c So for some reason j2 is getting the absolute path and j1 is getting a relative path. I have absolutely no idea why this would be. > I don't think we actually want to copy serial.c, we just want to specify > a dependency, does this work for you? Yeah I think you're right, I misunderstood the boot wrapper. That patch works for me - it causes the full path to be used. Thanks heaps! Regards, Daniel > cheers > > diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile > index 39354365f54a..ed9883169190 100644 > --- a/arch/powerpc/boot/Makefile > +++ b/arch/powerpc/boot/Makefile > @@ -197,7 +197,7 @@ $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: > $(srctree)/scripts/dtc > $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: > $(srctree)/$(src)/%.S > $(Q)cp $< $@ > > -$(obj)/serial.c: $(obj)/autoconf.h > +$(srctree)/$(src)/serial.c: $(obj)/autoconf.h > > $(obj)/autoconf.h: $(obj)/%: $(objtree)/include/generated/% > $(Q)cp $< $@