38 lines
907 B
Python
38 lines
907 B
Python
import llvm.target
|
|
from llvmpy import api, extra
|
|
|
|
|
|
def main():
|
|
if llvm.version < (3, 4):
|
|
return 0
|
|
|
|
triple = "i386--"
|
|
|
|
print("init start")
|
|
api.llvm.InitializeAllTargets()
|
|
api.llvm.InitializeAllTargetInfos()
|
|
api.llvm.InitializeAllTargetMCs()
|
|
api.llvm.InitializeAllAsmParsers()
|
|
api.llvm.InitializeAllAsmPrinters()
|
|
api.llvm.InitializeAllDisassemblers()
|
|
print("init done\n")
|
|
|
|
tm = llvm.target.TargetMachine.x86()
|
|
if not tm:
|
|
print("error: failed to lookup target x86 \n")
|
|
return 1
|
|
|
|
print("created target machine\n")
|
|
|
|
MII = tm.instr_info
|
|
if not MII:
|
|
print("error: no instruction info for target " + triple + "\n")
|
|
return 1
|
|
|
|
print("created instr info\n")
|
|
MID = MII.get(919) #int3
|
|
print("INT3(%d): flags=0x%x, tsflags=0x%x\n" % (MID.getOpcode(), MID.getFlags(), MID.TSFlags))
|
|
|
|
return 0
|
|
|
|
exit(main())
|