mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
[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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233512 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3c4bea043d
commit
1899f89632
@ -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
Block a user