[LLDB][Breakpad] Make lldb understand INLINE and INLINE_ORIGIN records in breakpad.Teach LLDB to understand INLINE and INLINE_ORIGIN records in breakpad.They have the following formats:```INLINE
[LLDB][Breakpad] Make lldb understand INLINE and INLINE_ORIGIN records in breakpad.Teach LLDB to understand INLINE and INLINE_ORIGIN records in breakpad.They have the following formats:```INLINE inline_nest_level call_site_line call_site_file_num origin_num [address size]+INLINE_ORIGIN origin_num name````INLNIE_ORIGIN` is simply a string pool for INLINE so that we won't haveduplicated names for inlined functions and can show up anywhere in the symbolfile.`INLINE` follows immediately after `FUNC` represents the ranges of momeryaddress that has functions inlined inside the function.Differential Revision: https://reviews.llvm.org/D113330
show more ...
[lldb][test] - Update test cases after yaml2obj change.The format of program header descriptions was changed by D90458.
[lldb/breakpad] Fix register resolution on armIn breakpad, only x86 (and mips) registers have a leading '$' in theirnames. Arm architectures use plain register names.Previously, lldb was assumin
[lldb/breakpad] Fix register resolution on armIn breakpad, only x86 (and mips) registers have a leading '$' in theirnames. Arm architectures use plain register names.Previously, lldb was assuming all registers have a '$'. Fix the code tomatch the (unfortunately, inconsistent) reality.
[lldb] add lit.local.cfg for breakpad testsThe reason is to add .yaml as a valid test suffix. The test foldercontains one yaml file, which wasn't being run because of that.Unsurprisingly the tes
[lldb] add lit.local.cfg for breakpad testsThe reason is to add .yaml as a valid test suffix. The test foldercontains one yaml file, which wasn't being run because of that.Unsurprisingly the test fails, but this was not because the underlyingfunctionality was broken, but rather because the test was setupincorrectly (most likely due to overly aggressive simplification of thetest data on my part).Therefore this patch also tweaks the test inputs in order to test whatthey are supposed to test, and also updates some other breakpad tests(because they depend on the same inputs as this one) to be morerealistic -- specifically it avoids putting symbols to the first page ofthe module, as that's where normally the COFF header would reside.
[lldb/test] simplify basic-elf.yamlExplicit dynsym/dynstr sections were added in a6370d5 to compensate fora yaml2obj change D74764. This test doesn't need those sections, soinstead I just delete
[lldb/test] simplify basic-elf.yamlExplicit dynsym/dynstr sections were added in a6370d5 to compensate fora yaml2obj change D74764. This test doesn't need those sections, soinstead I just delete the explicit section blocks, and also the"DynamicSymbols" block, which triggers their implicit generation.
[lldb][test] - Update basic-elf.yaml to fix build bot.D74764 (https://reviews.llvm.org/rG31f2ad9c368d47721508cbd0d120d626f9041715)changed the behavior of the yaml2obj. Now it assigns virtual addre
[lldb][test] - Update basic-elf.yaml to fix build bot.D74764 (https://reviews.llvm.org/rG31f2ad9c368d47721508cbd0d120d626f9041715)changed the behavior of the yaml2obj. Now it assigns virtual addressesfor allocatable sections.SymbolFile/Breakpad/symtab.test started to fail after this change:(http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/5520/steps/test/logs/stdio)Command Output (stderr):--/home/worker/lldb-x86_64-debian/lldb-x86_64-debian/llvm-project/lldb/test/Shell/SymbolFile/Breakpad/symtab.test:6:10: error: CHECK: expected string not found in input# CHECK: Symtab, file = {{.*}}symtab.out, num_symbols = 5: ^<stdin>:15:1: note: scanning from hereSymtab, file = /home/worker/lldb-x86_64-debian/lldb-x86_64-debian/build/tools/lldb/test/SymbolFile/Breakpad/Output/symtab.out, num_symbols = 6:^<stdin>:15:99: note: possible intended match hereSymtab, file = /home/worker/lldb-x86_64-debian/lldb-x86_64-debian/build/tools/lldb/test/SymbolFile/Breakpad/Output/symtab.out, num_symbols = 6:For now I've updated the basic-elf.yaml so that now it produce the same layout as before D74764.Breakpad/symtab.test should be updated it seems.
lldb/breakpad: add suppport for the "x86_64h" architecture
unwind-via-stack-win.yaml: update for changes in yaml formatllvm-svn: 374353
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