On Sep 20, 2006, Joe Buck <[EMAIL PROTECTED]> wrote: > On Wed, Sep 20, 2006 at 02:52:40AM -0300, Alexandre Oliva wrote:
>> For extra bonus points, it may short-circuit relocations that call foo >> (as opposed to taking its address) when it binds locally and skip the >> jmp altogether. Ditto for *all* relocations that reference foo, when >> it doesn't merge .foo.impl with anything else. > Alternatively, the compiler could arrange that pointers to functions always > point to a jump that then leads to the function, while direct calls > go directly to the function. That way pointers compare unequal > but the code is merged. Yeah, that works too, it's like function descriptors on the IA64, PPC64 and FRV-FDPIC ABIs. -- Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/ Secretary for FSF Latin America http://www.fsfla.org/ Red Hat Compiler Engineer [EMAIL PROTECTED], gcc.gnu.org} Free Software Evangelist [EMAIL PROTECTED], gnu.org}