Versioning mess proved!!!

Ulrich Drepper drepper@redhat.com
Sun Oct 1 15:47:00 GMT 2000


Geoff Keating <geoffk@cygnus.com> writes:

> Nope.  The other two should have two relocations too.
> 
> I expect the code that calls __gmon_start__ looks like:
> 
> 	lwz r3,__gmon_start__@got(r31)
> 	cmpwi r3,0
> 	beq L1234
> 	bl  __gmon_start__@plt
> L1234:
> 

But that's exactly what is supposed to be avoided.  On x86 the
generated code looks like this:

        movl    __gmon_start__@GOT(%ebx), %eax
        testl   %eax, %eax
        je      .L22
        call    *%eax

I.e., no use of __gmon_start__ as a jump target.  Since I have no PPC
machine handy I cannot say whether you get similar code.  If you do
seeing two relocations is wrong and can only be produced by the file
splitting.

-- 
---------------.                          ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Red Hat          `--' drepper at redhat.com   `------------------------


More information about the Libc-alpha mailing list