[objdump] Use correct format specifiers and fix C++03 variadic warning.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Sun, 6 Jan 2013 05:23:59 +0000 (05:23 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Sun, 6 Jan 2013 05:23:59 +0000 (05:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171651 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-objdump/ELFDump.cpp

index f018eed4f593ac7036666a339a2862f73f9fbe65..a635fefc3b97c8b90dc2b8975004ebf56e7162a2 100644 (file)
@@ -44,17 +44,19 @@ void printProgramHeaders(
       outs() << " UNKNOWN ";
     }
 
+    const char *Fmt = is64Bits ? "0x%016" PRIx64 " " : "0x%08" PRIx64 " ";
+
     outs() << "off    "
-           << format(is64Bits ? "0x%016x " : "0x%08x ", pi->p_offset)
+           << format(Fmt, (uint64_t)pi->p_offset)
            << "vaddr "
-           << format(is64Bits ? "0x%016x " : "0x%08x ", pi->p_vaddr)
+           << format(Fmt, (uint64_t)pi->p_vaddr)
            << "paddr "
-           << format(is64Bits ? "0x%016x " : "0x%08x ", pi->p_paddr)
-           << format("align 2**%d\n", CountTrailingZeros_32(pi->p_align))
+           << format(Fmt, (uint64_t)pi->p_paddr)
+           << format("align 2**%u\n", CountTrailingZeros_64(pi->p_align))
            << "         filesz "
-           << format(is64Bits ? "0x%016x " : "0x%08x ", pi->p_filesz)
+           << format(Fmt, (uint64_t)pi->p_filesz)
            << "memsz "
-           << format(is64Bits ? "0x%016x " : "0x%08x ", pi->p_memsz)
+           << format(Fmt, (uint64_t)pi->p_memsz)
            << "flags "
            << ((pi->p_flags & ELF::PF_R) ? "r" : "-")
            << ((pi->p_flags & ELF::PF_W) ? "w" : "-")