summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2019-03-22 14:03:59 +0000
committerPavel Labath <pavel@labath.sk>2019-03-22 14:03:59 +0000
commit3285c0f065ec6ddb6cf8c41dbc76a3bde09e04a1 (patch)
tree98c9895db83331edd34eab8be79d2aefacbf644b /lldb/packages/Python/lldbsuite
parentbbc89dcb29035ad450ac0981b8f51a6cfa2aa8ba (diff)
downloadbcm5719-llvm-3285c0f065ec6ddb6cf8c41dbc76a3bde09e04a1.tar.gz
bcm5719-llvm-3285c0f065ec6ddb6cf8c41dbc76a3bde09e04a1.zip
Extend r356573 (minidump UUID handling) to cover elf build-ids too
Breakpad (but not crashpad) will insert an empty (all-zero) build-id record for modules which do not have a build-id. This tells lldb to treat such records as empty/invalid uuids. llvm-svn: 356751
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py13
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-elf-build-id-zero.dmpbin0 -> 492 bytes
2 files changed, 13 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
index 3924955612e..1e4a98363e3 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
@@ -119,3 +119,16 @@ class MiniDumpUUIDTestCase(TestBase):
self.assertEqual(2, len(modules))
self.verify_module(modules[0], "/tmp/a", "01020304-0506-0708-090A-0B0C0D0E0F10-11121314")
self.verify_module(modules[1], "/tmp/b", "0A141E28-323C-4650-5A64-6E78828C96A0-AAB4BEC8")
+
+ def test_uuid_modules_elf_build_id_zero(self):
+ """
+ Test multiple modules having a MINIDUMP_MODULE.CvRecord that is valid,
+ and contains a ELF build ID whose value is all zero.
+ """
+ self.dbg.CreateTarget(None)
+ self.target = self.dbg.GetSelectedTarget()
+ self.process = self.target.LoadCore("linux-arm-uuids-elf-build-id-zero.dmp")
+ modules = self.target.modules
+ self.assertEqual(2, len(modules))
+ self.verify_module(modules[0], "/not/exist/a", None)
+ self.verify_module(modules[1], "/not/exist/b", None)
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-elf-build-id-zero.dmp b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-elf-build-id-zero.dmp
new file mode 100644
index 00000000000..238c0f97bf9
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-uuids-elf-build-id-zero.dmp
Binary files differ
OpenPOWER on IntegriCloud