Subject: general mips question

From: Peter Popov <[email-masked]>
Date: Mon, 15 May 2000 14:09:17 -0700

Is it possible to "walk" the stack on a mips system after a crash to
figure out all the functions which were called upto and including the
function where the crash occurred?  For example, I can do that on an
i960 system because of the help I get from the cpu in creating a stack
and saving some registers for every function call.  If A called B which
called C which called D, I can walk the stack on an i960 system and
figure out how I got to D. But I can't quite figure out how to do that
in software on a mips system.  All I can get is the return address of
the current function -- eg if the system crashed in D, all I can get is
the return address which is somewhere in function C.  Any ideas?

Thanks,

Pete

---

From: Ralf Baechle <[email-masked]>
Date: Mon, 15 May 2000 23:32:49 +0200

> the return address which is somewhere in function C.  Any ideas?

Well, you couldn't figure out simply because it's not possible to unwind
MIPS stackframes without the help of debug information or doing stunts
like analysing the code of the returning function.  A reasonable heuristic
should be to search the stack for words that have valid text addresses
in them.

  Ralf