Ok,
Still not got 2.5.40 to build...
ARM has, since the year dot, used "dump_stack()" to display any threads
stack, and has the following prototype:
static void dump_stack(struct task_struct *tsk, unsigned long sp)
However, somewhere in the 2.5.34 -> 2.5.40 development, "dump_stack" got
used as a way to call "show_stack" with a value of zero on x86 (which is
another externally visible function.)
Firstly, "dump_stack" is misnamed. It dumps stack and call trace
information.
Secondly, it creates a small problem - we're running out of names
to describe a function that displays _just_ stack contents without
any call trace information.
So, I propose to change the ARM version to the following, unless someone
else can come up with another name or a fix the poliferation of stack-
displaying functions that the generic kernel seems to require.
dump_random_numbers_from_thread_stack_yes_a_very_long_name_that_wont_clash_with_anything_else()
(Note: it may be a static function, but it is useful on to make it public
for occasional debugging.)
--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
Russell King wrote:
>
> Ok,
>
> Still not got 2.5.40 to build...
>
> ARM has, since the year dot, used "dump_stack()" to display any threads
> stack, and has the following prototype:
>
> static void dump_stack(struct task_struct *tsk, unsigned long sp)
>
> However, somewhere in the 2.5.34 -> 2.5.40 development, "dump_stack" got
> used as a way to call "show_stack" with a value of zero on x86 (which is
> another externally visible function.)
>
> Firstly, "dump_stack" is misnamed. It dumps stack and call trace
> information.
Sorry about that chief. Daniel very sensibly suggested that the
new one should be called `backtrace();'
> Secondly, it creates a small problem - we're running out of names
> to describe a function that displays _just_ stack contents without
> any call trace information.
>
> So, I propose to change the ARM version to the following, unless someone
> else can come up with another name or a fix the poliferation of stack-
> displaying functions that the generic kernel seems to require.
The generic kernel should only require two of these functions:
dump_stack() (aka backtrace()) and show_task_trace() - which
traces a different thread.