This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Preserving the argument spills for GDB
- From: Jean Christophe Beyler <jean dot christophe dot beyler at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 3 Nov 2009 14:01:35 -0500
- Subject: Preserving the argument spills for GDB
Dear all,
I've been working on handling the Debugging information for the use of
GDB on my port. Though I definitely know that, when compiling in -O3,
some information is lost and the debugger can't always have all the
information, I'd like to at least keep the values of the arguments
when doing a backtrace. Since my architecture uses register passing
for arguments, relatively quickly this is lost since it is not stored
on the stack.
Therefore, I would like to, when doing a backtrace, have the argument
information. I asked a few clarifications on the GDB mailing list and,
it seems, that I need to copy the arguments on the stack (like what is
done by default when using -O0). However, when compiling in -O3, the
compiler of course removes these stores on the stack and relies solely
(and justly so) on the input registers.
I've reread the GCC internals and have been looking at anything
regarding the stack but can't seem to figure this one out. How exactly
do I explain to the compiler that I want to keep those spills to the
stack for debugging purposes ?
Thanks for your help,
Jc