Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"
From: Michal Marek <hidden>
Date: 2014-06-11 12:21:10
Also in:
linux-kbuild
Subsystem:
linux for powerpc (32-bit and 64-bit), the rest · Maintainers:
Madhavan Srinivasan, Michael Ellerman, Linus Torvalds
On Wed, Jun 11, 2014 at 10:24:24AM +0200, Michal Marek wrote:
Dne 11.6.2014 08:02, Mike Qiu napsal(a):quoted
make[1]: Circular arch/powerpc/boot/zImage.lds.S <- arch/powerpc/boot/zImage.lds dependency dropped. make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- arch/powerpc/boot/zImage.lds dependency dropped. make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- arch/powerpc/boot/zImage.coff.lds dependency dropped. make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- arch/powerpc/boot/zImage.lds dependency dropped. make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- arch/powerpc/boot/zImage.coff.lds dependency dropped. make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- arch/powerpc/boot/zImage.ps3.lds dependency dropped. WRAP arch/powerpc/boot/zImage.ps3.lds.S INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x1500000) ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such file or directory make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1 make: *** [zImage] Error 2 make: *** Waiting for unfinished jobs.... MODPOST 1853 modules I use git bisect to find out the possible commits to lead this problem: 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for $(objtree) 890676c65d699db3ad82e7dddd0cf8fb449031af kbuild: Use relative path when building in the source tree 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when building in a subdir of the source treeThanks for the report, I'll have a look. If I do not come up with a solution soon, I'll revert the series.
I have yet to test this, but can you try the patch below? Thanks! Michal
From 7f8336f4c7f2131efbe82543580dda3ec1988609 Mon Sep 17 00:00:00 2001
From: Michal Marek <redacted> Date: Wed, 11 Jun 2014 13:53:48 +0200 Subject: [PATCH] powerpc: Avoid circular dependency with zImage.% The rule to create the final images uses a zImage.% pattern. Unfortunately, this also matches the names of the zImage.*.lds linker scripts, which appear as a dependency of the final images. This somehow worked when $(srctree) used to be an absolute path, but now the pattern matches too much. List only the images from $(image-y) as the target of the rule, to avoid the circular dependency. Signed-off-by: Michal Marek <redacted> --- arch/powerpc/boot/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 426dce7..c60992c 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile@@ -333,7 +333,7 @@ $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz $(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz) -$(obj)/zImage.%: vmlinux $(wrapperbits) +$(addprefix $(obj)/, $(filter zImage.%, $(image-y))): vmlinux $(wrapperbits) $(call if_changed,wrap,$*) # dtbImage% - a dtbImage is a zImage with an embedded device tree blob
--
1.9.2