# git rev-parse -q --verify 3b9efa81f2b3245e14559079cef172d5f83c5d42^{commit} 3b9efa81f2b3245e14559079cef172d5f83c5d42 already have revision, skipping fetch # git checkout -q -f -B kisskb 3b9efa81f2b3245e14559079cef172d5f83c5d42 # git clean -qxdf # < git log -1 # commit 3b9efa81f2b3245e14559079cef172d5f83c5d42 # Author: Masahiro Yamada # Date: Mon May 13 23:16:04 2019 +0900 # # powerpc/boot: pass CONFIG options in a simpler and more robust way # # Commit 5e9dcb6188a4 ("powerpc/boot: Expose Kconfig symbols to wrapper") # was wrong, but commit e41b93a6be57 ("powerpc/boot: Fix build failures # with -j 1") was also wrong. # # The correct dependency is: # # $(obj)/serial.o: $(obj)/autoconf.h # # However, I do not see the reason why we need to copy autoconf.h to # arch/power/boot/. Nor do I see consistency in the way of passing # CONFIG options. # # decompress.c references CONFIG_KERNEL_GZIP and CONFIG_KERNEL_XZ, which # are passed via the command line. # # serial.c includes autoconf.h to reference a couple of CONFIG options, # but this is fragile because we often forget to include "autoconf.h" # from source files. # # In fact, it is already broken. # # ppc_asm.h references CONFIG_PPC_8xx, but utils.S is not given any way # to access CONFIG options. So, CONFIG_PPC_8xx is never defined here. # # Pass $(LINUXINCLUDE) to make sure CONFIG options are accessible from # all .c and .S files in arch/powerpc/boot/. # # Signed-off-by: Masahiro Yamada # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 3b9efa81f2b3245e14559079cef172d5f83c5d42 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_skiroot_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- skiroot_defconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_skiroot_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- WARNING: vmlinux.o(.text+0x2ed0): Section mismatch in reference from the variable start_here_common to the function .init.text:start_kernel() The function start_here_common() references the function __init start_kernel(). This is often because start_here_common lacks a __init annotation or the annotation of start_kernel is wrong. In file included from /kisskb/src/arch/powerpc/boot/../../../lib/decompress_unxz.c:236:0, from /kisskb/src/arch/powerpc/boot/decompress.c:42: /kisskb/src/arch/powerpc/boot/../../../lib/xz/xz_dec_bcj.c: In function 'bcj_powerpc': /kisskb/src/arch/powerpc/boot/../../../lib/xz/xz_dec_bcj.c:166:11: warning: implicit declaration of function 'get_unaligned_be32' [-Wimplicit-function-declaration] instr = get_unaligned_be32(buf + i); ^ /kisskb/src/arch/powerpc/boot/../../../lib/xz/xz_dec_bcj.c:172:4: warning: implicit declaration of function 'put_unaligned_be32' [-Wimplicit-function-declaration] put_unaligned_be32(instr, buf + i); ^ arch/powerpc/boot/wrapper.a(decompress.o): In function `bcj_apply': decompress.c:(.text+0x770): undefined reference to `get_unaligned_be32' decompress.c:(.text+0x7e8): undefined reference to `put_unaligned_be32' make[2]: *** [/kisskb/src/arch/powerpc/boot/Makefile:383: arch/powerpc/boot/zImage.pseries] Error 1 make[2]: *** Waiting for unfinished jobs.... arch/powerpc/boot/wrapper.a(decompress.o): In function `bcj_apply': decompress.c:(.text+0x770): undefined reference to `get_unaligned_be32' decompress.c:(.text+0x7e8): undefined reference to `put_unaligned_be32' make[2]: *** [/kisskb/src/arch/powerpc/boot/Makefile:383: arch/powerpc/boot/zImage.epapr] Error 1 make[1]: *** [arch/powerpc/Makefile:295: zImage] Error 2 make: *** [Makefile:179: sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_skiroot_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next_skiroot_defconfig_ppc64le-gcc5 # Build took: 0:01:28.750919