Displaying 4 results from an estimated 4 matches for "writeint16b".
Did you mean:
writeint16be
2016 Dec 14
2
LLD status update and performance chart
...n types)
void RuntimeDyldELF::resolvePPC64Relocation in lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp has this:
switch (Type) {
case ELF::R_PPC64_ADDR14: {
assert(((Value + Addend) & 3) == 0);
// Preserve the AA/LK bits in the branch instruction
uint8_t aalk = *(LocalAddress + 3);
writeInt16BE(LocalAddress + 2, (aalk & 3) | ((Value + Addend) & 0xfffc));
} break;
case ELF::R_PPC64_ADDR16:
writeInt16BE(LocalAddress, applyPPClo(Value + Addend));
break;
case ELF::R_PPC64_ADDR16_DS:
writeInt16BE(LocalAddress, applyPPClo(Value + Addend) & ~3);
break;
and there are well ov...
2016 Dec 14
0
LLD status update and performance chart
...n in
> lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp has this:
>
> switch (Type) {
> case ELF::R_PPC64_ADDR14: {
> assert(((Value + Addend) & 3) == 0);
> // Preserve the AA/LK bits in the branch instruction
> uint8_t aalk = *(LocalAddress + 3);
> writeInt16BE(LocalAddress + 2, (aalk & 3) | ((Value + Addend) &
> 0xfffc));
> } break;
> case ELF::R_PPC64_ADDR16:
> writeInt16BE(LocalAddress, applyPPClo(Value + Addend));
> break;
> case ELF::R_PPC64_ADDR16_DS:
> writeInt16BE(LocalAddress, applyPPClo(Value + Add...
2016 Dec 14
0
LLD status update and performance chart
On Tue, Dec 13, 2016 at 12:08 PM, Rui Ueyama <ruiu at google.com> wrote:
> On Tue, Dec 13, 2016 at 12:01 PM, Mehdi Amini <mehdi.amini at apple.com>
> wrote:
>
>>
>> On Dec 13, 2016, at 11:51 AM, Rui Ueyama <ruiu at google.com> wrote:
>>
>> On Tue, Dec 13, 2016 at 11:37 AM, Mehdi Amini <mehdi.amini at apple.com>
>> wrote:
>>
2015 Jan 26
2
[LLVMdev] [llvm] r188726 - Adding PIC support for ELF on x86_64 platforms
...ntimeDyld/RuntimeDyld.cpp Mon Aug 19 18:27:43 2013
@@ -169,6 +169,9 @@ ObjectImage *RuntimeDyldImpl::loadObject
}
}
+ // Give the subclasses a chance to tie-up any loose ends.
+ finalizeLoad();
+
return obj.take();
}
@@ -424,6 +427,10 @@ uint8_t *RuntimeDyldImpl::createStubFunc
writeInt16BE(Addr+6, 0x07F1); // brc 15,%r1
// 8-byte address stored at Addr + 8
return Addr;
+ } else if (Arch == Triple::x86_64) {
+ *Addr = 0xFF; // jmp
+ *(Addr+1) = 0x25; // rip
+ // 32-bit PC-relative address of the GOT entry will be stored at Addr+2
}
return Addr;
}...