Thread (4 messages) read the whole thread 4 messages, 2 authors, 2019-07-05

Re: [PATCH v2] powerpc/boot: pass CONFIG options in a simpler and more robust way

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2019-07-04 00:26:53
Also in: lkml

Masahiro Yamada [off-list ref] writes:
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);


http://kisskb.ellerman.id.au/kisskb/buildresult/13862914/

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help