mirror of https://gitee.com/openkylin/linux.git
x86: make printk_address available on X86_32
Small fomatting fixes to 64-bit as well, trailing whitespace and extra semicolon, also move the ifdefs for CONFIG_KALLSYMS into the function itself. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
625d6cffca
commit
a5ff677c2f
|
@ -102,6 +102,34 @@ asmlinkage void machine_check(void);
|
|||
int kstack_depth_to_print = 24;
|
||||
static unsigned int code_bytes = 64;
|
||||
|
||||
void printk_address(unsigned long address, int reliable)
|
||||
{
|
||||
#ifdef CONFIG_KALLSYMS
|
||||
unsigned long offset = 0, symsize;
|
||||
const char *symname;
|
||||
char *modname;
|
||||
char *delim = ":";
|
||||
char namebuf[128];
|
||||
char reliab[4] = "";
|
||||
|
||||
symname = kallsyms_lookup(address, &symsize, &offset,
|
||||
&modname, namebuf);
|
||||
if (!symname) {
|
||||
printk(" [<%08lx>]\n", address);
|
||||
return;
|
||||
}
|
||||
if (!reliable)
|
||||
strcpy(reliab, "? ");
|
||||
|
||||
if (!modname)
|
||||
modname = delim = "";
|
||||
printk(" [<%08lx>] %s%s%s%s%s+0x%lx/0x%lx\n",
|
||||
address, reliab, delim, modname, delim, symname, offset, symsize);
|
||||
#else
|
||||
printk(" [<%08lx>]\n", address);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline int valid_stack_ptr(struct thread_info *tinfo, void *p, unsigned size)
|
||||
{
|
||||
return p > (void *)tinfo &&
|
||||
|
|
|
@ -100,15 +100,15 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
|
|||
|
||||
int kstack_depth_to_print = 12;
|
||||
|
||||
#ifdef CONFIG_KALLSYMS
|
||||
void printk_address(unsigned long address, int reliable)
|
||||
{
|
||||
#ifdef CONFIG_KALLSYMS
|
||||
unsigned long offset = 0, symsize;
|
||||
const char *symname;
|
||||
char *modname;
|
||||
char *delim = ":";
|
||||
char namebuf[128];
|
||||
char reliab[4] = "";;
|
||||
char reliab[4] = "";
|
||||
|
||||
symname = kallsyms_lookup(address, &symsize, &offset,
|
||||
&modname, namebuf);
|
||||
|
@ -120,16 +120,13 @@ void printk_address(unsigned long address, int reliable)
|
|||
strcpy(reliab, "? ");
|
||||
|
||||
if (!modname)
|
||||
modname = delim = "";
|
||||
modname = delim = "";
|
||||
printk(" [<%016lx>] %s%s%s%s%s+0x%lx/0x%lx\n",
|
||||
address, reliab, delim, modname, delim, symname, offset, symsize);
|
||||
}
|
||||
#else
|
||||
void printk_address(unsigned long address, int reliable)
|
||||
{
|
||||
printk(" [<%016lx>]\n", address);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static unsigned long *in_exception_stack(unsigned cpu, unsigned long stack,
|
||||
unsigned *usedp, char **idp)
|
||||
|
|
Loading…
Reference in New Issue