Re: [PATCH] powerpc/boot: fix broken way to pass CONFIG options

From: Masahiro Yamada
Date: Mon May 13 2019 - 09:57:35 EST

On Mon, May 13, 2019 at 9:33 PM Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
> 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.
> Check-in source files never ever depend on build artifacts.
> The correct dependency is:
> $(obj)/serial.o: $(obj)/autoconf.h
> However, copying autoconf.h to arch/power/boot/ is questionable
> in the first place.
> arch/powerpc/Makefile adopted multiple ways to pass CONFIG options.
> arch/powerpc/boot/decompress.c references CONFIG_KERNEL_GZIP and
> CONFIG_KERNEL_XZ, which are passed via the command line.
> arch/powerpc/boot/serial.c includes the copied autoconf.h to
> reference a couple of CONFIG options.
> Do not do this.
> We should have already learned that including autoconf.h from each
> source file is really fragile.
> In fact, it is already broken.
> arch/powerpc/boot/ppc_asm.h references CONFIG_PPC_8xx, but
> arch/powerpc/boot/utils.S is not given any way to access CONFIG
> options. So, CONFIG_PPC_8xx is never defined here.
> Just pass $(LINUXINCLUDE) and remove all broken code.
> I also removed the -traditional flag to make include/linux/kconfig.h
> work. I do not understand why it needs to imitate the behavior of
> pre-standard C preprocessors.
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---

I re-read my commit log, and I thought it was needlessly
too offensive. Sorry about that.

I will reword the commit log and send v2.

Best Regards
Masahiro Yamada