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

From: Anatoly Pugachev
Date: Wed Feb 05 2020 - 04:42:01 EST


On Wed, Feb 5, 2020 at 1:13 AM Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> 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?

Fixes issue for me. Thank you.