Re: [sparc64] unable to build kernel after bbfceba15f8 / "kdb: Get rid of confusing diag msg from "rd" if current task has no regs"

From: Doug Anderson
Date: Tue Feb 04 2020 - 17:13:54 EST


Hi,

On Tue, Feb 4, 2020 at 1:14 PM Anatoly Pugachev <matorola@xxxxxxxxx> wrote:
>
> Hello!
>
> After (bisected) bbfceba15f8d1260c328a254efc2b3f2deae4904 got
> mainline, i'm unable to build kernel with the following messages:
>
> ~/linux-2.6$ make -j olddefconfig; make kernel/debug/kdb/
> scripts/kconfig/conf --olddefconfig Kconfig
> #
> # No change to .config
> #
> CALL scripts/atomic/check-atomics.sh
> CALL scripts/checksyscalls.sh
> <stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
> CC kernel/debug/kdb/kdb_main.o
> kernel/debug/kdb/kdb_main.c: In function âkdb_rdâ:
> kernel/debug/kdb/kdb_main.c:1857:11: error: âdbg_reg_defâ undeclared
> (first use in this function); did you mean âdbg_reg_def_tâ?
> 1857 | rsize = dbg_reg_def[i].size * 2;
> | ^~~~~~~~~~~
> | dbg_reg_def_t
> kernel/debug/kdb/kdb_main.c:1857:11: note: each undeclared identifier
> is reported only once for each function it appears in
> kernel/debug/kdb/kdb_main.c:1868:12: error: implicit declaration of
> function âdbg_get_regâ [-Werror=implicit-function-declaration]
> 1868 | rname = dbg_get_reg(i, &reg8, kdb_current_regs);
> | ^~~~~~~~~~~
> kernel/debug/kdb/kdb_main.c:1868:10: warning: assignment to âchar *â
> from âintâ makes pointer from integer without a cast
> [-Wint-conversion]
> 1868 | rname = dbg_get_reg(i, &reg8, kdb_current_regs);
> | ^
> kernel/debug/kdb/kdb_main.c:1874:10: warning: assignment to âchar *â
> from âintâ makes pointer from integer without a cast
> [-Wint-conversion]
> 1874 | rname = dbg_get_reg(i, &reg16, kdb_current_regs);
> | ^
> kernel/debug/kdb/kdb_main.c:1880:10: warning: assignment to âchar *â
> from âintâ makes pointer from integer without a cast
> [-Wint-conversion]
> 1880 | rname = dbg_get_reg(i, &reg32, kdb_current_regs);
> | ^
> kernel/debug/kdb/kdb_main.c:1886:10: warning: assignment to âchar *â
> from âintâ makes pointer from integer without a cast
> [-Wint-conversion]
> 1886 | rname = dbg_get_reg(i, &reg64, kdb_current_regs);
> | ^
> cc1: some warnings being treated as errors
> make[3]: *** [scripts/Makefile.build:266: kernel/debug/kdb/kdb_main.o] Error 1
> make[2]: *** [scripts/Makefile.build:503: kernel/debug/kdb] Error 2
> make[1]: *** [scripts/Makefile.build:503: kernel/debug] Error 2
> make: *** [Makefile:1681: kernel] Error 2
>
>
> reversing bbfceba15f8d with current git master branch - makes kernel
> compilable again.
>
> kernel config attached

Argh. Sorry about this. :( I'm not setup with a sparc compiler, but
I've simulated your results on arm64 by just commenting out the
definition of "DBG_MAX_REG_NUM" in "arch/arm64/include/asm/kgdb.h".
Hopefully:

20200204141219.1.Ief3f3a7edbbd76165901b14813e90381c290786d@changeid">https://lore.kernel.org/r/20200204141219.1.Ief3f3a7edbbd76165901b14813e90381c290786d@changeid

...will fix you?

-Doug