On Thu, 3 Aug 2017 11:37:15 +0900 Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > diff --git a/arch/cris/kernel/traps.c b/arch/cris/kernel/traps.c > index a01636a12a6e..d98131c45bb5 100644 > --- a/arch/cris/kernel/traps.c > +++ b/arch/cris/kernel/traps.c > @@ -42,7 +42,7 @@ void (*nmi_handler)(struct pt_regs *); > void show_trace(unsigned long *stack) > { > unsigned long addr, module_start, module_end; > - extern char _stext, _etext; > + extern char _stext[], _etext[]; > int i; > > pr_err("\nCall Trace: "); > @@ -69,8 +69,8 @@ void show_trace(unsigned long *stack) > * down the cause of the crash will be able to figure > * out the call path that was taken. > */ > - if (((addr >= (unsigned long)&_stext) && > - (addr <= (unsigned long)&_etext)) || > + if (((addr >= (unsigned long)_stext) && > + (addr <= (unsigned long)_etext)) || > ((addr >= module_start) && (addr <= module_end))) { BTW, I would like to ask cris people, this seems to check over 1 byte, since _etext and module_end will be placed at the next byte of the real address area. As same as other arch, Should it be (addr < (unsigned long)_etext) or are there any other reason? Thank you, > #ifdef CONFIG_KALLSYMS > print_ip_sym(addr); > -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>