Chris Wulff wrote:
I'm trying to track down a bug in the -fPIC support for microblaze.
I'm currently using the gcc 4.1.2 tree from the Xilinx git repository
but the microblaze 4.5 branch from svn shows the same symptom.
It appears that what is going on is that it is creating a non-PIC
symbol_ref instead of the correct one. (It actually compiles with gcc 3,
but I think it creates a non-PIC reference directly to the symbol as it
just doesn't have that assertion.)
My questions are these (more details below):
1) When doing PIC, should REG_EQUIV or REG_EQUAL notes still refer to
the original symbol_ref or should they contain the PIC expression?
2) Or should the PIC expression be re-inserted in some later phase?
3) Does it look like I'm even looking in the right area? I'm still
learning my way around the gcc codebase but my current understanding is
that the "global_alloc" or "reload" code can just replace the
pseudo-register with the REG_EQUIV note if it can't keep the register
around.
Chris --
Your last point is correct, but this only happens if there is no
suitable register.
I'll take a look at your diagnostics and see if I can make some
sense of what is going on.
--
Michael Eager ea...@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077