Re: gcc 4.5.1 / as 2.20.51.0.11 miscompiling drivers/char/i8k.c ?

From: Jeff Law
Date: Mon Nov 15 2010 - 23:11:32 EST


On 11/15/10 16:07, Richard Guenther wrote:

If the address of the auto isn't taken, then why is the object in memory to
begin with (with the obvious exception for aggregates).
Exactly sort of my point. If people pass the address of&x to an asm
and modify&x + 8 expecting the "adjacent" stack location to be changed
I want to tell them that's not a supported way to get to another stack
variable (even if they clobber "memory"). Or consider the C-decl guy
who wants to access adjacent parameters by address arithmetic on
the address of the first param ...
Well, in that case, I think we can easily say that the programmer has gone off the deep end and has entered the realm of undefined behavior.

Presumably we rooted out all relevant instances of the latter over the last 20 years... It was fairly common in the past, but I doubt anyone worth caring about is still writing code assuming they can take the address of parameter A, offset it and get parameters B, C, D, etc.

jeff
--
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/