forked from OSchip/llvm-project
[MCJIT] In debug memory dump output, don't truncate 64 bit addresses
Summary: In dumpMemorySections a cast was too short, and in resolveRelocations a format string was too short. Test Plan: Enable debug build and run a program which invokes MCJIT::finalizeObject(). Saw valid input as below (highlighted addresses were previously truncated): ``` Parse relocations: Resolving relocations Section #0 **0x7f4c1337b000** ----- Contents of section socket1 before relocations ----- **0x00007f4c1337b000**: 18 01 00 00 01 01 01 0a 00 00 00 00 04 03 02 01 0x00007f4c1337b010: 7b 1a f8 ff 00 00 00 00 18 11 00 00 05 00 00 00 ``` Reviewers: lhames Reviewed By: lhames Subscribers: llvm-commits, ast Differential Revision: http://reviews.llvm.org/D8681 llvm-svn: 233512
This commit is contained in:
parent
f268568447
commit
36df1ca5f1
|
@ -57,7 +57,8 @@ static void dumpSectionMemory(const SectionEntry &S, StringRef State) {
|
|||
unsigned BytesRemaining = S.Size;
|
||||
|
||||
if (StartPadding) {
|
||||
dbgs() << "\n" << format("0x%016" PRIx64, LoadAddr & ~(ColsPerRow - 1)) << ":";
|
||||
dbgs() << "\n" << format("0x%016" PRIx64,
|
||||
LoadAddr & ~(uint64_t)(ColsPerRow - 1)) << ":";
|
||||
while (StartPadding--)
|
||||
dbgs() << " ";
|
||||
}
|
||||
|
@ -92,7 +93,7 @@ void RuntimeDyldImpl::resolveRelocations() {
|
|||
// entry provides the section to which the relocation will be applied.
|
||||
uint64_t Addr = Sections[i].LoadAddress;
|
||||
DEBUG(dbgs() << "Resolving relocations Section #" << i << "\t"
|
||||
<< format("0x%x", Addr) << "\n");
|
||||
<< format("%p", (uintptr_t)Addr) << "\n");
|
||||
DEBUG(dumpSectionMemory(Sections[i], "before relocations"));
|
||||
resolveRelocationList(Relocations[i], Addr);
|
||||
DEBUG(dumpSectionMemory(Sections[i], "after relocations"));
|
||||
|
|
Loading…
Reference in New Issue