forked from OSchip/llvm-project
Implement R_PPC_ADDR32.
Patch from Jack Andersen. llvm-svn: 285720
This commit is contained in:
parent
7fd5c84f46
commit
035c4f14e0
|
@ -966,12 +966,13 @@ void PPCTargetInfo::relocateOne(uint8_t *Loc, uint32_t Type,
|
|||
case R_PPC_ADDR16_LO:
|
||||
write16be(Loc, applyPPCLo(Val));
|
||||
break;
|
||||
case R_PPC_REL24:
|
||||
or32be(Loc, Val & 0x3FFFFFC);
|
||||
break;
|
||||
case R_PPC_ADDR32:
|
||||
case R_PPC_REL32:
|
||||
write32be(Loc, Val);
|
||||
break;
|
||||
case R_PPC_REL24:
|
||||
or32be(Loc, Val & 0x3FFFFFC);
|
||||
break;
|
||||
default:
|
||||
fatal("unrecognized reloc " + Twine(Type));
|
||||
}
|
||||
|
|
|
@ -51,3 +51,14 @@ mystr:
|
|||
# CHECK: Disassembly of section .R_PPC_REL32:
|
||||
# CHECK: .FR_PPC_REL32:
|
||||
# CHECK: 11018: 00 00 00 04
|
||||
|
||||
.section .R_PPC_ADDR32,"ax",@progbits
|
||||
.globl .FR_PPC_ADDR32
|
||||
.FR_PPC_ADDR32:
|
||||
.long .Lfoox2
|
||||
.section .R_PPC_ADDR32_2,"ax",@progbits
|
||||
.Lfoox2:
|
||||
|
||||
# CHECK: Disassembly of section .R_PPC_ADDR32:
|
||||
# CHECK: .FR_PPC_ADDR32:
|
||||
# CHECK: 1101c: 00 01 10 20
|
||||
|
|
Loading…
Reference in New Issue