Subject: Re: Kernel build issues after yesterdays merge by Linus

From: Tony Breeds <[email-masked]>
Date: Fri, 13 Jun 2014 15:15:59 +1000

On Thu, Jun 12, 2014 at 10:09:12PM +1000, Anton Blanchard wrote:

> The TOC symbol export is special and I think we might need to get our
> script to ignore it.

Try this (untested) patch.  If it's good I'll send it to Ben.

diff --git a/arch/powerpc/relocs_check.pl b/arch/powerpc/relocs_check.pl
index 3f46e8b..34e3f25 100755
--- a/arch/powerpc/relocs_check.pl
+++ b/arch/powerpc/relocs_check.pl
@@ -45,6 +45,9 @@ while (<FD>) {
 		 /\bR_PPC_ADDR16_HA\b/ or /\bR_PPC_RELATIVE\b/ or
 		 /\bR_PPC_NONE\b/);
 
+	# The TOC is "special" so let's ignore it.
+	next if (/__crc_TOC\./);
+
 	# If we see this type of relocation it's an idication that
 	# we /may/ be using an old version of binutils.
 	if (/R_PPC64_UADDR64/) {

<snip>
 
> Shows how much we use make install :) Below is a quick hack to get you going
> but we should look at either fixing the Ubuntu installkernel to handle
> extra optional args, or stop passing them from the ppc64 kernel
> install.sh script.

It seems like passign the zImage files is probably wrong.  How about:

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index ccc25ed..146d898 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -390,7 +390,7 @@ $(obj)/zImage.initrd:	$(addprefix $(obj)/, $(initrd-y))
 	@rm -f $@; ln $< $@
 
 install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
-	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^
+	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)"
 
 # anything not in $(targets)
 clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \