fix initcall_debug on ppc64/ia64

From: Olaf Hering
Date: Thu Nov 04 2004 - 16:14:34 EST


On Wed, Nov 03, Andrew Morton wrote:

> Olaf Hering <olh@xxxxxxx> wrote:
> >
> > Is a patch like that acceptable (for mainline)? Currently only the
> > descriptor is printed, not the function itself. Another redirection is
> > needed.
>
> Is this acked by Paul and Anton? If so, I'll replace __powerpc64__ with
> CONFIG_PPC64 and run with it.


I guess we need something like this.
Just where to put it, how to name it and how to handle ia64:


diff -purNx tags linux-2.6.9/include/linux/kallsyms.h linux-2.6.10-rc1-bk14.initcall_debug/include/linux/kallsyms.h
--- linux-2.6.9/include/linux/kallsyms.h 2004-10-18 23:53:06.000000000 +0200
+++ linux-2.6.10-rc1-bk14.initcall_debug/include/linux/kallsyms.h 2004-11-04 21:37:19.789304911 +0100
@@ -47,6 +47,15 @@ __attribute__((format(printf,1,2)));
static inline void __check_printsym_format(const char *fmt, ...)
{
}
+#ifdef CONFIG_PPC64
+#define print_foo_symbol(fmt, addr) \
+do { \
+ unsigned long *__pfs = (unsigned long*) addr; \
+ print_symbol(fmt, __pfs[0]); \
+} while (0)
+#else
+#define print_foo_symbol(fmt, addr) print_symbol(fmt, addr)
+#endif

#define print_symbol(fmt, addr) \
do { \
diff -purNx tags linux-2.6.9/init/main.c linux-2.6.10-rc1-bk14.initcall_debug/init/main.c
--- linux-2.6.9/init/main.c 2004-11-04 21:01:04.878455673 +0100
+++ linux-2.6.10-rc1-bk14.initcall_debug/init/main.c 2004-11-04 21:08:01.191792667 +0100
@@ -604,7 +604,7 @@ static void __init do_initcalls(void)

if (initcall_debug) {
printk(KERN_DEBUG "Calling initcall 0x%p", *call);
- print_symbol(": %s()", (unsigned long) *call);
+ print_foo_symbol(": %s()", (unsigned long) *call);
printk("\n");
}


--
USB is for mice, FireWire is for men!

sUse lINUX ag, nÃRNBERG
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/