summaryrefslogtreecommitdiff
path: root/scons
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2015-05-28 16:55:10 +0100
committerJose Fonseca <jfonseca@vmware.com>2015-05-29 11:20:58 +0100
commit0db4ef9df152da1d0f3601bbccc68ac1c94d4a3b (patch)
tree2542284d67315d7c68f4dd9c865aac25e3116d9f /scons
parent29203e77388f11e36db3190834809c3196ee47b5 (diff)
downloadmesa-0db4ef9df152da1d0f3601bbccc68ac1c94d4a3b.tar.gz
mesa-0db4ef9df152da1d0f3601bbccc68ac1c94d4a3b.tar.bz2
mesa-0db4ef9df152da1d0f3601bbccc68ac1c94d4a3b.zip
gallivm: Use the LLVM's C disassembly interface.
It doesn't do everything we want. In particular it doesn't allow to detect jumps or return opcodes. Currently we detect the x86's RET opcode. Even though it's worse for LLVM 3.3, it's an improvement for LLVM 3.7, which was totally busted. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'scons')
-rw-r--r--scons/llvm.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/scons/llvm.py b/scons/llvm.py
index 17278df88be..c59b8cb9317 100644
--- a/scons/llvm.py
+++ b/scons/llvm.py
@@ -120,6 +120,7 @@ def generate(env):
])
elif llvm_version >= distutils.version.LooseVersion('3.5'):
env.Prepend(LIBS = [
+ 'LLVMMCDisassembler',
'LLVMBitWriter', 'LLVMMCJIT', 'LLVMRuntimeDyld',
'LLVMX86Disassembler', 'LLVMX86AsmParser', 'LLVMX86CodeGen',
'LLVMSelectionDAG', 'LLVMAsmPrinter', 'LLVMX86Desc',
@@ -132,6 +133,7 @@ def generate(env):
])
else:
env.Prepend(LIBS = [
+ 'LLVMMCDisassembler',
'LLVMBitWriter', 'LLVMX86Disassembler', 'LLVMX86AsmParser',
'LLVMX86CodeGen', 'LLVMX86Desc', 'LLVMSelectionDAG',
'LLVMAsmPrinter', 'LLVMMCParser', 'LLVMX86AsmPrinter',
@@ -189,7 +191,7 @@ def generate(env):
if '-fno-rtti' in cxxflags:
env.Append(CXXFLAGS = ['-fno-rtti'])
- components = ['engine', 'mcjit', 'bitwriter', 'x86asmprinter']
+ components = ['engine', 'mcjit', 'bitwriter', 'x86asmprinter', 'mcdisassembler']
env.ParseConfig('llvm-config --libs ' + ' '.join(components))
env.ParseConfig('llvm-config --ldflags')