aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/disassembler
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-03-06 12:37:06 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-07 12:20:24 +0100
commit206b0e1f2ed2c6d42bc814a3b04567ceeb438de6 (patch)
treecb7fc85de36068923448482aac320973662c21e4 /src/3rdparty/masm/disassembler
parent0d3d8aa924f07da2364c73bfb1b4c95cd3429d10 (diff)
V4: fix address printing on 64bit platforms
The addresses were truncated to 32bits, which is a problem on win64, because JITted code ended up outside that range. Change-Id: I0d8b92486714340dffe4b4c2de29cf11a929a149 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/3rdparty/masm/disassembler')
-rw-r--r--src/3rdparty/masm/disassembler/UDis86Disassembler.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/3rdparty/masm/disassembler/UDis86Disassembler.cpp b/src/3rdparty/masm/disassembler/UDis86Disassembler.cpp
index 63c235b920..3d9d8cb384 100644
--- a/src/3rdparty/masm/disassembler/UDis86Disassembler.cpp
+++ b/src/3rdparty/masm/disassembler/UDis86Disassembler.cpp
@@ -49,7 +49,13 @@ bool tryToDisassemble(const MacroAssemblerCodePtr& codePtr, size_t size, const c
uint64_t currentPC = disassembler.pc;
while (ud_disassemble(&disassembler)) {
char pcString[20];
- snprintf(pcString, sizeof(pcString), "0x%lx", static_cast<unsigned long>(currentPC));
+ snprintf(pcString, sizeof(pcString),
+#if OS(WINDOWS)
+ "0x%p",
+#else
+ "%p",
+#endif
+ currentPC);
out.printf("%s%16s: %s\n", prefix, pcString, ud_insn_asm(&disassembler));
currentPC = disassembler.pc;
}