I am on mips and it neither supports PC relative load nor the PC can be read . You are correct, I should have looked up MIPS addressing modes before coming here... Thanks Ian. kumaresh On Fri, Mar 19, 2010 at 9:20 PM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote: > kum <a.kumaresh@xxxxxxxxx> writes: > >> There are no direct invocation of my_foo1. What prevents the compiler >> from emitting a PC relative address to store in my_foo? Something like >> lw $2, PC - <offset> > > You need to get the address of my_foo1 into $2. Using a PC relative > value only works if your processor has a PC-relative load instruction. > Not all processors have such an instruction. If your processor has > one and gcc is not using it, then this may be a bug. > > Ian >