Re: [PATCH v2] powerpc/boot: pass CONFIG options in a simpler and more robust way
From: Masahiro Yamada <hidden>
Date: 2019-07-05 10:00:08
Also in:
lkml
On Thu, Jul 4, 2019 at 9:26 AM Michael Ellerman [off-list ref] wrote:
Masahiro Yamada [off-list ref] writes:quoted
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/.This breaks our skiroot_defconfig, I don't know why yet: 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);
OK, now I see the cause of the error. I will insert a new patch in v3. Thanks.
http://kisskb.ellerman.id.au/kisskb/buildresult/13862914/ cheers
-- Best Regards Masahiro Yamada