Re: [PATCH 2/4] msm: scm: Fix improper register assignment

From: Russell King - ARM Linux
Date: Sat Feb 26 2011 - 03:48:29 EST


On Fri, Feb 25, 2011 at 09:09:05PM -0800, Saravana Kannan wrote:
> Yeah, Stephen and I spent quite a bit of time discussing this and
> experimenting to figure out what the heck GCC was doing. But it kept
> optimizing the fake code we put in trying to force GCC to use a specific
> register.

One way to look at it is that if you specify a value for r0, assign it,
and then call a function, how do you expect the r0 value to be preserved?
r0 will be corrupted by the called function as its used to pass arg0 and
the return value.

I'm surprised the compiler didn't spit out an error.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/