relocation in PowerPC
Geoff Keating
geoffk@geoffk.org
Thu Jun 28 11:40:00 GMT 2001
> 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>
More information about the Libc-alpha
mailing list