Lines Matching refs:Addr

58     uint64_t Addr = Sections[i].LoadAddress;
60 << "\t" << format("%p", (uint8_t *)Addr)
62 resolveRelocationList(Relocations[i], Addr);
201 uint8_t *Addr = MemMgr->allocateDataSection(
203 if (!Addr)
206 Sections.push_back(SectionEntry(StringRef(), Addr, TotalSize, 0));
207 memset(Addr, 0, TotalSize);
210 << " new addr: " << format("%p", Addr)
223 uint64_t AlignOffset = OffsetToAlignment((uint64_t)Addr, Align);
224 Addr += AlignOffset;
227 format("%p\n", Addr));
229 Obj.updateSymbolAddress(it->first, (uint64_t)Addr);
232 Addr += Size;
296 uint8_t *Addr;
303 Addr = IsCode
307 if (!Addr)
316 memset(Addr, 0, DataSize);
318 memcpy(Addr, pData, DataSize);
322 memset(Addr + DataSize, 0, PaddingSize);
330 << " new addr: " << format("%p", Addr)
335 Obj.updateSectionAddress(Section, (uint64_t)Addr);
342 Addr = 0;
353 Sections.push_back(SectionEntry(Name, Addr, DataSize, (uintptr_t)pData));
395 uint8_t *RuntimeDyldImpl::createStubFunction(uint8_t *Addr) {
400 uint32_t *StubAddr = (uint32_t*)Addr;
413 return Addr;
417 uint32_t *StubAddr = (uint32_t*)Addr;
421 uint32_t *StubAddr = (uint32_t*)Addr;
436 return Addr;
442 writeInt32BE(Addr, 0x3D800000); // lis r12, highest(addr)
443 writeInt32BE(Addr+4, 0x618C0000); // ori r12, higher(addr)
444 writeInt32BE(Addr+8, 0x798C07C6); // sldi r12, r12, 32
445 writeInt32BE(Addr+12, 0x658C0000); // oris r12, r12, h(addr)
446 writeInt32BE(Addr+16, 0x618C0000); // ori r12, r12, l(addr)
447 writeInt32BE(Addr+20, 0xF8410028); // std r2, 40(r1)
448 writeInt32BE(Addr+24, 0xE96C0000); // ld r11, 0(r12)
449 writeInt32BE(Addr+28, 0xE84C0008); // ld r2, 0(r12)
450 writeInt32BE(Addr+32, 0x7D6903A6); // mtctr r11
451 writeInt32BE(Addr+36, 0xE96C0010); // ld r11, 16(r2)
452 writeInt32BE(Addr+40, 0x4E800420); // bctr
454 return Addr;
456 writeInt16BE(Addr, 0xC418); // lgrl %r1,.+8
457 writeInt16BE(Addr+2, 0x0000);
458 writeInt16BE(Addr+4, 0x0004);
459 writeInt16BE(Addr+6, 0x07F1); // brc 15,%r1
460 // 8-byte address stored at Addr + 8
461 return Addr;
463 *Addr = 0xFF; // jmp
464 *(Addr+1) = 0x25; // rip
465 // 32-bit PC-relative address of the GOT entry will be stored at Addr+2
467 return Addr;
473 uint64_t Addr) {
481 // Addr is a uint64_t because we can't assume the pointer width
484 Sections[SectionID].LoadAddress = Addr;
509 uint64_t Addr = 0;
514 Addr = MemMgr->getSymbolAddress(Name.data());
526 Addr = getSectionLoadAddress(SymLoc.first) + SymLoc.second;
530 if (!Addr)
534 updateGOTEntries(Name, Addr);
536 << "\t" << format("0x%lx", Addr)
541 resolveRelocationList(Relocs, Addr);
624 uint64_t Addr) {
625 Dyld->reassignSectionAddress(SectionID, Addr);