While debugging a new ALSA driver I found that dump_stack() has not been implemented for sparc32. This patch adds the function, and is a direct copy of the sparc64 code.
Before patch: ALSA sound/core/pcm_lib.c:141: BUG: stream = 0, pos = 0xfa0, buffer size = 0xfa0, period size = 0x3e8 This architecture does not implement dump_stack() After patch: ALSA sound/core/pcm_lib.c:141: BUG: stream = 0, pos = 0xfa0, buffer size = 0xfa0, period size = 0x3e8 [fe354a00 : transmission_complete_intr+0xf0/0x100 [snd_sun_dbri] ] [fe354be8 : dbri_process_one_interrupt+0x110/0x1e4 [snd_sun_dbri] ] [fe354d04 : dbri_process_interrupt_buffer+0x48/0x78 [snd_sun_dbri] ] [fe354e1c : snd_dbri_interrupt+0xe8/0xfc [snd_sun_dbri] ] [f0014588 : handler_irq+0x7c/0xe4 ] [f0011db4 : patch_handler_irq+0x0/0x24 ] [f0015770 : cpu_idle+0xf0/0x110 ] [f000e02c : rest_init+0x18/0x28 ] [f01b4f84 : _etext+0x63314/0x79dc4 ] [f01b4790 : _etext+0x62b20/0x79dc4 ] [00000000 : 0x0 ] Best regards, Martin Signed-off-by: Martin Habets <[EMAIL PROTECTED]> --- 2.6.8/arch/sparc/kernel/process.c.orig 2004-09-16 12:25:44.000000000 +0100 +++ 2.6.8/arch/sparc/kernel/process.c 2004-09-16 12:27:48.000000000 +0100 @@ -336,6 +336,17 @@ printk("\n"); } +void dump_stack(void) +{ + unsigned long *ksp; + + __asm__ __volatile__("mov %%fp, %0" + : "=r" (ksp)); + show_stack(current, ksp); +} + +EXPORT_SYMBOL(dump_stack); + /* * Note: sparc64 has a pretty intricated thread_saved_pc, check it out. */