X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fkallsyms.h;h=9bbd04092365a59b7d53f53d97faf73091b15518;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1a5dce8f934623f226d9f367c97db79c7df64442;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 1a5dce8f9..9bbd04092 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h @@ -47,6 +47,16 @@ __attribute__((format(printf,1,2))); static inline void __check_printsym_format(const char *fmt, ...) { } +/* ia64 and ppc64 use function descriptors, which contain the real address */ +#if defined(CONFIG_IA64) || defined(CONFIG_PPC64) +#define print_fn_descriptor_symbol(fmt, addr) \ +do { \ + unsigned long *__faddr = (unsigned long*) addr; \ + print_symbol(fmt, __faddr[0]); \ +} while (0) +#else +#define print_fn_descriptor_symbol(fmt, addr) print_symbol(fmt, addr) +#endif #define print_symbol(fmt, addr) \ do { \