[Lldb-commits] [lldb] r328486 - [LLDB][PPC64] Fix TestGdbRemoteAuxvSupport

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 26 05:00:52 PDT 2018


Author: labath
Date: Mon Mar 26 05:00:52 2018
New Revision: 328486

URL: http://llvm.org/viewvc/llvm-project?rev=328486&view=rev
Log:
[LLDB][PPC64] Fix TestGdbRemoteAuxvSupport

Summary: PPC64's auxvec has a special key that must be ignored.

Reviewers: clayborg, labath

Reviewed By: clayborg, labath

Subscribers: alexandreyy, lbianc

Differential Revision: https://reviews.llvm.org/D43771
Patch by Leandro Lupori <leandro.lupori at gmail.com>.

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py?rev=328486&r1=328485&r2=328486&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py Mon Mar 26 05:00:52 2018
@@ -1077,6 +1077,18 @@ class GdbRemoteTestCaseBase(TestBase):
 
         auxv_dict = {}
 
+        # PowerPC64le's auxvec has a special key that must be ignored.
+        # This special key may be used multiple times, resulting in
+        # multiple key/value pairs with the same key, which would otherwise
+        # break this test check for repeated keys.
+        #
+        # AT_IGNOREPPC = 22
+        ignored_keys_for_arch = { 'powerpc64le' : [22] }
+        arch = self.getArchitecture()
+        ignore_keys = None
+        if arch in ignored_keys_for_arch:
+            ignore_keys = ignored_keys_for_arch[arch]
+
         while len(auxv_data) > 0:
             # Chop off key.
             raw_key = auxv_data[:word_size]
@@ -1090,6 +1102,9 @@ class GdbRemoteTestCaseBase(TestBase):
             key = unpack_endian_binary_string(endian, raw_key)
             value = unpack_endian_binary_string(endian, raw_value)
 
+            if ignore_keys and key in ignore_keys:
+                continue
+
             # Handle ending entry.
             if key == 0:
                 self.assertEqual(value, 0)




More information about the lldb-commits mailing list