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: relocation in PowerPC


> Date: Thu, 28 Jun 2001 03:54:48 -0700 (PDT)
> From: Michael Liao <michael_liaocn@yahoo.com>
> 
> Hi, I can't understand the following codes from
> glibc-2.2.3/sysdeps/powerpc/dl-machine.c around line
> 445.
> 
> if (rinfo != R_PPC_ADDR14)
> 	*reloc_addr = ((*reloc_addr & 0xffdfffff) | ((rinfo
> == R_PPC_ADDR14_BRTAKEN) ^ (finaladdr >> 31)) << 21);
> 
> why the branch prediction bit is set also by the MSB
> of the finaladdr.
> 
> Could anyone tell why?

On PowerPC, the meaning of the bit changes depending on whether it's a
forward or backward branch.

-- 
- Geoffrey Keating <geoffk@geoffk.org>


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