@@ -8,7 +8,35 @@ make KBUILD_SRC=
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh - due to target missing
CHK include/generated/compile.h
-Kernel: arch/x86/boot/bzImage is ready (#39)
+ LINK vmlinux - due to command line change
+ LD vmlinux.o
+ MODPOST vmlinux.o - due to vmlinux.o not in $(targets)
+ GEN .version
+ CHK include/generated/compile.h
+ UPD include/generated/compile.h
+ CC init/version.o - due to: include/generated/compile.h
+ LD init/built-in.o - due to: init/version.o
+ LD vmlinux
+ SORTEX vmlinux
+ SYSMAP System.map
+ CC arch/x86/boot/version.o - due to:
include/generated/compile.h
+ VOFFSET arch/x86/boot/compressed/../voffset.h - due to: vmlinux
+ OBJCOPY arch/x86/boot/compressed/vmlinux.bin - due to: vmlinux
+ XZKERN arch/x86/boot/compressed/vmlinux.bin.xz - due to:
arch/x86/boot/compressed/vmlinux.bin
+ CC arch/x86/boot/compressed/misc.o - due to:
arch/x86/boot/compressed/../voffset.h
+ MKPIGGY arch/x86/boot/compressed/piggy.S - due to:
arch/x86/boot/compressed/vmlinux.bin.xz
+ AS arch/x86/boot/compressed/piggy.o - due to:
arch/x86/boot/compressed/piggy.S
+ LD arch/x86/boot/compressed/vmlinux - due to:
arch/x86/boot/compressed/misc.o arch/x86/boot/compressed/piggy.o
+ ZOFFSET arch/x86/boot/zoffset.h - due to:
arch/x86/boot/compressed/vmlinux
+ OBJCOPY arch/x86/boot/vmlinux.bin - due to:
arch/x86/boot/compressed/vmlinux
+ AS arch/x86/boot/header.o - due to: arch/x86/boot/zoffset.h
+ LD arch/x86/boot/setup.elf - due to: arch/x86/boot/header.o
arch/x86/boot/version.o
+ OBJCOPY arch/x86/boot/setup.bin - due to: arch/x86/boot/setup.elf
+ BUILD arch/x86/boot/bzImage - due to: arch/x86/boot/setup.bin
arch/x86/boot/vmlinux.bin
+Setup is 15484 bytes (padded to 15872 bytes).
+System is 361 kB
+CRC 85405354
+Kernel: arch/x86/boot/bzImage is ready (#40)
/bin/bash ./scripts/package/buildtar targz-pkg
'./System.map' -> './tar-install/boot/System.map-4.7.0-rc2+'
'./.config' -> './tar-install/boot/config-4.7.0-rc2+'
Now, let's try to debug the vmlinux rebuild:
$ time make -j4 V=2
$ cp .vmlinux.cmd /tmp/vmlinux-before.cmd
$ time make -j4 V=2 targz-pkg
$ diff -Nrup /tmp/vmlinux-before.cmd .vmlinux.cmd
@@ -1 +1 @@
-cmd_vmlinux := /bin/bash scripts/link-vmlinux.sh ld -m elf_i386 --
build-id
+cmd_vmlinux := /bin/bash scripts/link-vmlinux.sh ld -m elf_i386 --
build-id --build-id
(my email client broke the long lines on the patch file, but you can
clearly see that targz-pkg added an extra --build-id to the cmd_vmlinux
declaration)
So after some grepping, I tried to also initialize LDFLAGS_vmlinux, in
the same way you did with NOSTDINC_FLAGS, and it fixed the problem for
me:
$ # This is all on top of Marek's patch
$ git diff
@@ -364,6 +364,7 @@ CHECK = sparse
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void $(CF)
NOSTDINC_FLAGS =
+LDFLAGS_vmlinux =
CFLAGS_MODULE =
AFLAGS_MODULE =
LDFLAGS_MODULE =
$ time make -j4 V=2
$ time make -j4 V=2 2>&1 > /tmp/full-fix.patch
$ diff -Nrup /tmp/revert-log.patch /tmp/full-fix.patch
@@ -8,7 +8,7 @@ make KBUILD_SRC=
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh - due to target missing
CHK include/generated/compile.h
-Kernel: arch/x86/boot/bzImage is ready (#39)
+Kernel: arch/x86/boot/bzImage is ready (#45)
/bin/bash ./scripts/package/buildtar targz-pkg
'./System.map' -> './tar-install/boot/System.map-4.7.0-rc2+'
'./.config' -> './tar-install/boot/config-4.7.0-rc2+'