Zoltán Kócsi wrote:
On Thu, 29 Jan 2009 08:53:10 +0000
Andrew Haley <a...@redhat.com> wrote:
We're talking about gcc on ARM. gcc on ARM uses 0 for the null
pointer constant, therefore a linker cannot place an object at
address zero. All the rest is irrelevant.
Um, the linker *must* place the vector table at address zero, because
the ARM, at least the ARM7TDMI fetches all exception vectors from
there. Dictated by the HW, not the compiler.
This sounds like a genuine bug in gcc, then. As far as I can see, Andrew
is right -- if the ARM hardware requires a legitimate object to be
placed at address zero, then a standard C compiler has to use some other
value for the null pointer.
-- Ross Smith