forked from llvm-mirror/lldb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Attempt llvm-mirror#2 to get this patch working. I will watch the bui…
…ld bots carefully today. Allow partial UUID matching in Minidump core file plug-in Breakpad had bugs in earlier versions where it would take a 20 byte ELF build ID and put it into the minidump file as a 16 byte PDB70 UUID with an age of zero. This would make it impossible to do postmortem debugging with one of these older minidump files. This fix allows partial matching of UUIDs. To do this we first try and match with the full UUID value, and then fall back to removing the original directory path from the module specification and we remove the UUID requirement, and then manually do the matching ourselves. This allows scripts to find symbols files using a symbol server, place them all in a directory, use the "setting set target.exec-search-paths" setting to specify the directory, and then load the core file. The Target::GetSharedModule() can then find the correct file without doing any other matching and load it. Tests were added to cover a partial UUID match where the breakpad file has a 16 byte UUID and the actual file on disk has a 20 byte UUID, both where the first 16 bytes match, and don't match. Differential Revision: https://reviews.llvm.org/D60001 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@357603 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
Greg Clayton
committed
Apr 3, 2019
1 parent
f4684d5
commit 4283ff8
Showing
6 changed files
with
116 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/libuuidmatch.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- !ELF | ||
FileHeader: | ||
Class: ELFCLASS32 | ||
Data: ELFDATA2LSB | ||
Type: ET_DYN | ||
Machine: EM_ARM | ||
Flags: [ EF_ARM_SOFT_FLOAT, EF_ARM_EABI_VER5 ] | ||
Sections: | ||
- Name: .note.gnu.build-id | ||
Type: SHT_NOTE | ||
Flags: [ SHF_ALLOC ] | ||
Address: 0x0000000000000114 | ||
AddressAlign: 0x0000000000000004 | ||
Content: 040000001400000003000000474E55007295E17C66689E05CBB5DEE5003865D55267C116 |
14 changes: 14 additions & 0 deletions
14
packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/libuuidmismatch.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- !ELF | ||
FileHeader: | ||
Class: ELFCLASS32 | ||
Data: ELFDATA2LSB | ||
Type: ET_DYN | ||
Machine: EM_ARM | ||
Flags: [ EF_ARM_SOFT_FLOAT, EF_ARM_EABI_VER5 ] | ||
Sections: | ||
- Name: .note.gnu.build-id | ||
Type: SHT_NOTE | ||
Flags: [ SHF_ALLOC ] | ||
Address: 0x0000000000000114 | ||
AddressAlign: 0x0000000000000004 | ||
Content: 040000001400000003000000474E55008295E17C66689E05CBB5DEE5003865D55267C116 |
Binary file added
BIN
+403 Bytes
.../lldbsuite/test/functionalities/postmortem/minidump-new/linux-arm-partial-uuids-match.dmp
Binary file not shown.
Binary file added
BIN
+409 Bytes
...dbsuite/test/functionalities/postmortem/minidump-new/linux-arm-partial-uuids-mismatch.dmp
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters