This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Versioning mess proved!!!


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   `------------------------

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]