Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]

2010-08-02 Thread Thomas Backlund
02.08.2010 21:28, Sam Ravnborg skrev:
 On Mon, Aug 02, 2010 at 11:51:11AM +0300, Thomas Backlund wrote:
 Hi,
 (please cc me as I'm not subscribed)

 updating from make 3.81 to 3.82 gets me this:

 [tho...@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config
 [tho...@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc
 /mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed  
 implicit and normal rules.  Stop.

 The lines are:

 182:
 183: $(BOOT_TARGETS): vmlinux
 184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst  
 %,$(boot)/%,$@)
 185:

 BOOT_TARGETS are defined on line 166 as:
 BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.%  
 cuImage.% simpleImage.%


 Now it's not a regression in the kernel as the same happends with the  
 2.6.34 tree too.

 (btw, the host I'm syncing the defconfig with is a x86_64 machine)


 Now, I dont know if this is intended breakage by the make update, or  
 if the Makefile needs to be updated

 Any ideas how to fix ?
 
 This is in the category intended breakage.
 We had a similar issue in the top-level Makefile which Paul (IIRC)
 helped me to fix long time ago.
 
 To fix popwerpc I suggest something along these lines.
 [Note: I did not test it - please do so.
 
   Sam
 
 [PATCH] powerpc: fix build with make 3.82
 
 Thomas Backlund reported that the powerpc build broke with make 3.82.
 It failed with the following message:
 
 arch/powerpc/Makefile:183: *** mixed implicit and normal rules.  Stop.
 
 The fix is to avoid mixing non-wildcard and wildcard targets.
 
 Reported-by: Thomas Backlund t...@mandriva.org
 Cc: Michal Marek mma...@suse.cz
 Signed-off-by: Sam Ravnborg s...@ravnborg.org
 ---
 diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
 index 77cfe7a..ad88b21 100644
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
 @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE)   += 
 arch/powerpc/oprofile/
  # Default to zImage, override when needed
  all: zImage
  
 -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% 
 cuImage.% simpleImage.%
 +# With make 3.82 we cannot mix normal and wildcard targets
 +BOOT_TARGETS1 := zImage zImage.initrd uImaged
 +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
  
 -PHONY += $(BOOT_TARGETS)
 +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
  
  boot := arch/$(ARCH)/boot
  
 @@ -180,7 +182,9 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux
  zImage: relocs_check
  endif
  
 -$(BOOT_TARGETS): vmlinux
 +$(BOOT_TARGETS1): vmlinux
 + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 +$(BOOT_TARGETS2): vmlinux
   $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
  bootwrapper_install %.dtb:


Thanks, this seems to fix the first issue, but then I get the same erro on the 
following line 190:

190: bootwrapper_install %.dtb:
191:$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)


--
Thomas
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]

2010-08-02 Thread Thomas Backlund
02.08.2010 23:51, Sam Ravnborg skrev:

 Thanks, this seems to fix the first issue, but then I get the same erro on 
 the following line 190:

 190: bootwrapper_install %.dtb:
 191:$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst 
 %,$(boot)/%,$@)

 
 Obviously - dunno how I missed that.
 Updated patch below.
 
 I will do a proper submission after you
 confirm that powerpc build is working with make 3.82.
 

Yeah, that was an obvious fix, thanks!

One small typo fix below...
(a missing ':')

Otherwise it works here, so:

Tested-by: Thomas Backlund t...@mandriva.org

   Sam
 
 diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
 index 77cfe7a..ace7a3e 100644
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
 @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE)   += 
 arch/powerpc/oprofile/
  # Default to zImage, override when needed
  all: zImage
  
 -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% 
 cuImage.% simpleImage.%
 +# With make 3.82 we cannot mix normal and wildcard targets
 +BOOT_TARGETS1 := zImage zImage.initrd uImaged
 +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
  
 -PHONY += $(BOOT_TARGETS)
 +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
  
  boot := arch/$(ARCH)/boot
  
 @@ -180,10 +182,16 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux
  zImage: relocs_check
  endif
  
 -$(BOOT_TARGETS): vmlinux
 +$(BOOT_TARGETS1): vmlinux
 + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 +$(BOOT_TARGETS2): vmlinux
 + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 +
 +
 +bootwrapper_install

bootwrapper_install:

   $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
 -bootwrapper_install %.dtb:
 +%.dtb:
   $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
  define archhelp
 .
 

--
Thomas
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev