[LLDB][Breakpad] Create a function for each compilation unit.Since every FUNC record (in breakpad) is a compilation unit, creating thefunction for the CU allows `ResolveSymbolContext` to resolve`
[LLDB][Breakpad] Create a function for each compilation unit.Since every FUNC record (in breakpad) is a compilation unit, creating thefunction for the CU allows `ResolveSymbolContext` to resolve`eSymbolContextFunction`.Differential Revision: https://reviews.llvm.org/D113163
show more ...
[lldb][test] - Update test cases after yaml2obj change.The format of program header descriptions was changed by D90458.
minidump: Create memory regions from the sections of loaded modulesSummary:Not all minidumps contain information about memory permissions. However,it is still important to know which regions of m
minidump: Create memory regions from the sections of loaded modulesSummary:Not all minidumps contain information about memory permissions. However,it is still important to know which regions of memory containpotentially executable code. This is particularly important forunwinding on win32, as the default unwind method there relies onscanning the stack for things which "look like" code pointers.This patch enables ProcessMinidump to reconstruct the likely permissionsof memory regions using the sections of loaded object files. It onlydoes this if we don't have a better source (memory info list stream, orlinux /proc/maps) for this information, and only if the information inthe object files does not conflict with the information in the minidump.Theoretically that last bit could be improved, since the permissionsobtained from the MemoryList streams is also only a very rough guess,but it did not seem worthwhile to complicate the implementation becauseof that because there will generally be no overlap in practice as theMemoryList will contain the stack contents and not any module data.The patch adds a test checking that the module section permissions areentered into the memory region list, and also a test which demonstratethat now the unwinder is able to correctly find return addresses even inminidumps without memory info list streams.There's one TODO left in this patch, which is that the "memory region"output does not give any indication about the "don't know" values ofmemory region permissions (it just prints them as if they permission bitwas set). I address this in a follow up.Reviewers: amccarth, clayborgSubscribers: mgrang, lldb-commitsDifferential Revision: https://reviews.llvm.org/D69105
Re-land "[test] Split LLDB tests into API, Shell & Unit"The original patch got reverted because it broke `check-lldb` on a cleanbuild. This fixes that.llvm-svn: 374201
Revert [test] Split LLDB tests into API, Shell & Unitas it appears to have broken check-lldb.This reverts r374184 (git commit 22314179f0660c172514b397060fd8f34b586e82)llvm-svn: 374187
[test] Split LLDB tests into API, Shell & UnitLLDB has three major testing strategies: unit tests, tests that exercisethe SB API though dotest.py and what we currently call lit tests. Thelater is
[test] Split LLDB tests into API, Shell & UnitLLDB has three major testing strategies: unit tests, tests that exercisethe SB API though dotest.py and what we currently call lit tests. Thelater is rather confusing as we're now using lit as the driver for allthree types of tests. As most of this grew organically, the directorystructure in the LLDB repository doesn't really make this clear.The 'lit' tests are part of the root and among these tests there's aUnit and Suite folder for the unit and dotest-tests. This layout makesit impossible to run just the lit tests.This patch changes the directory layout to match the 3 testingstrategies, each with their own directory and their own configurationfile. This means there are now 3 directories under lit with 3corresponding targets: - API (check-lldb-api): Test exercising the SB API. - Shell (check-lldb-shell): Test exercising command line utilities. - Unit (check-lldb-unit): Unit tests.Finally, there's still the `check-lldb` target that runs all three testsuites.Finally, this also renames the lit folder to `test` to match the LLVMrepository layout.Differential revision: https://reviews.llvm.org/D68606llvm-svn: 374184