Subject: RE: Saving arguments on the stack

From: "Knittel, Brian" <[email-masked]>
Date: Tue, 22 Nov 2005 10:24:09 -0800

We'd like to add arguments to the backtrace in Oops messages to make debugging from these reports more efficient. It is particularly useful for determining where the problem was generated, particularly when bad pointers are passed in. This is for production embedded devices with optimized code and which reboot immediately after storing or sending the Oops message. Performance is an issue, but the overhead of storing the arguments on the stack is likely worth the added debug info.
 
Thanks,
--Brian

	-----Original Message----- 
	From: Dominic Sweetman [mailto:[email-masked]] 
	Sent: Tue 11/22/2005 4:41 AM 
	To: Ralf Baechle 
	Cc: Knittel, Brian; [email-masked] 
	Subject: Re: Saving arguments on the stack

	Brian,
	
	> > I'd like to force the compiler to store arguments on the stack
	> > with otherwise optimized code.
	
	Sounds like you're out of luck.  Perhaps you'd do better to go one
	step back and explain what you're trying to do?
	
	--
	Dominic Sweetman
	MIPS Technologies

---

From: Ralf Baechle <[email-masked]>
Date: Wed, 23 Nov 2005 09:54:35 +0000

On Tue, Nov 22, 2005 at 10:24:09AM -0800, Knittel, Brian wrote:

> We'd like to add arguments to the backtrace in Oops messages to make
> debugging from these reports more efficient. It is particularly useful
> for determining where the problem was generated, particularly when bad
> pointers are passed in. This is for production embedded devices with
> optimized code and which reboot immediately after storing or sending the
> Oops message. Performance is an issue, but the overhead of storing the
> arguments on the stack is likely worth the added debug info.

In this case you would probably have to modify the compiler to save all
arguments.  Another issue is actually finding the stackframe.  For a
debugger using debug information this is possible but short of that it's
hard on MIPS to produce a meaningful backtrace.  Or having something
as complicate as on ia64 ...

  Ralf