[Lldb-commits] [PATCH] D15915: [LLDB][MIPS] Fix TestDisassembleRawData.py

Nitesh Jain via lldb-commits lldb-commits at lists.llvm.org
Tue Jan 5 22:39:50 PST 2016


nitesh.jain created this revision.
nitesh.jain added reviewers: clayborg, ovehakola, emaste.
nitesh.jain added subscribers: jaydeep, bhushan, sagar, mohit.bhakkad, lldb-commits.
nitesh.jain set the repository for this revision to rL LLVM.

This patch adds check for the correctness of Disassembling instruction for MIPS target. 

Repository:
  rL LLVM

http://reviews.llvm.org/D15915

Files:
  packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py

Index: packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py
===================================================================
--- packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py
+++ packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py
@@ -21,11 +21,18 @@
     def test_disassemble_raw_data(self):
         """Test disassembling raw bytes with the API."""
         # Create a target from the debugger.
-        target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "x86_64")
+        arch = self.getArchitecture()
+        if re.match("mips*el",arch):
+           target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "mipsel")
+           raw_bytes = bytearray([0x21,0xf0, 0xa0, 0x03])
+        elif re.match("mips",arch):
+             target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "mips")
+             raw_bytes = bytearray([0x03,0xa0, 0xf0, 0x21])
+        else:
+           target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "x86_64")
+           raw_bytes = bytearray([0x48, 0x89, 0xe5])
+        
         self.assertTrue(target, VALID_TARGET)
-
-        raw_bytes = bytearray([0x48, 0x89, 0xe5])
-
         insts = target.GetInstructions(lldb.SBAddress(0, target), raw_bytes)
 
         inst = insts.GetInstructionAtIndex(0)
@@ -34,6 +41,9 @@
             print()
             print("Raw bytes:    ", [hex(x) for x in raw_bytes])
             print("Disassembled%s" % str(inst))
- 
-        self.assertTrue (inst.GetMnemonic(target) == "movq")
-        self.assertTrue (inst.GetOperands(target) == '%' + "rsp, " + '%' + "rbp")
+        if re.match("mips",arch):
+           self.assertTrue (inst.GetMnemonic(target) == "move")
+           self.assertTrue (inst.GetOperands(target) == '$' + "fp, " + '$' + "sp")
+        else:
+             self.assertTrue (inst.GetMnemonic(target) == "movq")
+             self.assertTrue (inst.GetOperands(target) == '%' + "rsp, " + '%' + "rbp")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15915.44093.patch
Type: text/x-patch
Size: 2035 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160106/1a2dbd91/attachment.bin>


More information about the lldb-commits mailing list