This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Oddities in ARM (stack handling)
- From: Adrian von Bidder <avbidder at acter dot ch>
- To: gcc <gcc at gcc dot gnu dot org>
- Date: Thu, 29 Nov 2001 18:05:29 +0100
- Subject: Oddities in ARM (stack handling)
Hi!
While debugging my membedded-pic (formerly disable-got by Vlad Lebedev)
patch I discovered that my patch also influences code generation with my
flag disabled. Damn.
To find out where to start: with patch, a function compiles with
frame_needed = 0, 3.0.2 vanilla compiles the function to frame_neede =
1.
So I wonder what influences the decision whether a given function needs
a frame pointer (the only point where frame_pointer_needed is set seems
to be in reload1.c, and I don't understand the explanation there. Also I
did not change that file).
Additionally - and this is the odditiy I'm speaking of in the subject -
the unchainged functions saves the registers with "stmfd {
everything..., pc }".
I wonder why to save the pc - it is never loaded, nor is the space
reserved on the stack ever needed.
greets from Zürich
-- vbi