aboutsummaryrefslogtreecommitdiffstats
path: root/masm
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-09-23 10:44:12 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-09-23 10:44:12 +0200
commit757318b77d5ef29c63cdc108962925ad218c90ac (patch)
tree6e5f9cc1388d14ddb2fcb5a62b1dc64080e80a34 /masm
parentfd29ac57f8bcdd74d62c6a83a4c73f824ae08ef4 (diff)
Add udis86 support
Diffstat (limited to 'masm')
-rw-r--r--masm/config.h2
-rw-r--r--masm/disassembler/udis86/ud_opcode.pycbin0 -> 7170 bytes
-rw-r--r--masm/disassembler/udis86/ud_optable.pycbin0 -> 2793 bytes
-rw-r--r--masm/masm.pri21
-rw-r--r--masm/stubs/WTFStubs.cpp14
5 files changed, 33 insertions, 4 deletions
diff --git a/masm/config.h b/masm/config.h
index 298bcb101d..5c67d30146 100644
--- a/masm/config.h
+++ b/masm/config.h
@@ -1,4 +1,6 @@
#include <wtf/Platform.h>
+#ifdef __cplusplus
#include <wtf/Vector.h>
+#endif
#include <limits.h>
diff --git a/masm/disassembler/udis86/ud_opcode.pyc b/masm/disassembler/udis86/ud_opcode.pyc
new file mode 100644
index 0000000000..0643b37eb8
--- /dev/null
+++ b/masm/disassembler/udis86/ud_opcode.pyc
Binary files differ
diff --git a/masm/disassembler/udis86/ud_optable.pyc b/masm/disassembler/udis86/ud_optable.pyc
new file mode 100644
index 0000000000..741467979e
--- /dev/null
+++ b/masm/disassembler/udis86/ud_optable.pyc
Binary files differ
diff --git a/masm/masm.pri b/masm/masm.pri
index 1f05e11f20..502df9132c 100644
--- a/masm/masm.pri
+++ b/masm/masm.pri
@@ -11,7 +11,26 @@ DEFINES += NDEBUG
DEFINES += WTF_EXPORT_PRIVATE=""
INCLUDEPATH += $$PWD/jit
-INCLUDEPATH += $$PWD/disassembler
+INCLUDEPATH += $$PWD/assembler
INCLUDEPATH += $$PWD/wtf
INCLUDEPATH += $$PWD/stubs
INCLUDEPATH += $$PWD
+
+DEFINES += WTF_USE_UDIS86=1
+INCLUDEPATH += $$PWD/disassembler
+INCLUDEPATH += $$PWD/disassembler/udis86
+SOURCES += $$PWD/disassembler/UDis86Disassembler.cpp
+SOURCES += $$PWD/disassembler/udis86/udis86.c
+SOURCES += $$PWD/disassembler/udis86/udis86_decode.c
+SOURCES += $$PWD/disassembler/udis86/udis86_input.c
+SOURCES += $$PWD/disassembler/udis86/udis86_itab_holder.c
+SOURCES += $$PWD/disassembler/udis86/udis86_syn-att.c
+SOURCES += $$PWD/disassembler/udis86/udis86_syn.c
+SOURCES += $$PWD/disassembler/udis86/udis86_syn-intel.c
+
+
+ITAB = $$PWD/disassembler/udis86/optable.xml
+udis86.output = udis86_itab.h
+udis86.input = ITAB
+udis86.commands = python $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN}
+QMAKE_EXTRA_COMPILERS += udis86
diff --git a/masm/stubs/WTFStubs.cpp b/masm/stubs/WTFStubs.cpp
index 68424293c4..c649e7f025 100644
--- a/masm/stubs/WTFStubs.cpp
+++ b/masm/stubs/WTFStubs.cpp
@@ -2,6 +2,8 @@
#include <stdio.h>
#include <stdarg.h>
+#include <qdebug.h>
+
namespace WTF {
void* fastMalloc(unsigned int size)
@@ -21,19 +23,25 @@ int cryptographicallyRandomNumber()
FILE* dataFile()
{
- return 0;
+ return stdout;
}
-void dataLogV(const char* format, va_list)
+void dataLogV(const char* format, va_list args)
{
+ qDebug(format, args);
}
void dataLog(const char* format, ...)
{
+ va_list args;
+ va_start(args, format);
+ qDebug(format, args);
+ va_end(args);
}
-void dataLogString(const char*)
+void dataLogString(const char* str)
{
+ qDebug("%s", str);
}
}