Re: [PATCH 3/4] kbuild: link of vmlinux moved to a script
From: Michal Marek <hidden>
Date: 2012-05-10 12:22:17
Also in:
linux-kbuild, linux-mips, lkml
Subsystem:
mips, the rest · Maintainers:
Thomas Bogendoerfer, Linus Torvalds
On Wed, May 09, 2012 at 06:58:16PM -0400, Paul Gortmaker wrote:
On Tue, May 8, 2012 at 12:51 PM, Sam Ravnborg [off-list ref] wrote:quoted
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 26c5b65..1f4c27b 100644 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh@@ -78,8 +78,8 @@ kallsyms()kallsymopt=--all-symbols fi - local aflags="${KBUILD_AFLAGS} ${NOSTDINC_FLAGS} \ - ${LINUXINCLUDE} ${KBUILD_CPPFLAGS}" + local aflags="${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL} \ + ${NOSTDINC_FLAGS} ${LINUXINCLUDE} ${KBUILD_CPPFLAGS}"All the linux-next builds for mips are failing, which I tracked down to this. Applying the above update doesn't help. What is happening is that MIPS gets KBUILD_CPPFLAGS double-quoted, and then you get: + mips-wrs-linux-gnu-nm -n .tmp_vmlinux1 + scripts/kallsyms + mips-wrs-linux-gnu-gcc -D__ASSEMBLY__ <..snip..> -D__KERNEL__ '-D"VMLINUX_LOAD_ADDRESS=0xffffffff81100000"' '-D"DATAOFFSET=0"' -c -o .tmp_kallsyms1.o -x assembler-with-cpp - <command-line>:0: error: macro names must be identifiers <command-line>:0: error: macro names must be identifiers make[1]: *** [vmlinux] Error 1 Note the '-D"VMLINUX_LOAD_ADDRESS=0xffffffff81100000"' '-D"DATAOFFSET=0"' part -- that is what triggers the two above errors.
I think it should be as simple as the below patch. But I have no mips machine to verify myself. Michal From d801533d5e6e509d5e115d2fb47655267c4c5ed4 Mon Sep 17 00:00:00 2001 From: Michal Marek <redacted> Date: Thu, 10 May 2012 14:15:49 +0200 Subject: [PATCH] mips: Fix KBUILD_CPPFLAGS definition The KBUILD_CPPFLAGS variable is no longer passed to sh -c 'gcc ...', but exported and used by the link-vmlinux.sh script. This means that the double-quotes will not be evaluated by the shell. Reported-by: Paul Gortmaker <redacted> Signed-off-by: Michal Marek <redacted>
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 4fedf5a..722e04a 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile@@ -219,8 +219,8 @@ endif KBUILD_AFLAGS += $(cflags-y) KBUILD_CFLAGS += $(cflags-y) -KBUILD_CPPFLAGS += -D"VMLINUX_LOAD_ADDRESS=$(load-y)" -KBUILD_CPPFLAGS += -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)" +KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y) +KBUILD_CPPFLAGS += -DDATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0) LDFLAGS += -m $(ld-emul) --
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html