teak-llvm/lldb/packages/Python/lldbsuite/test
Pavel Labath 16064d354a Re-land: [lldb] Use vFlash commands when writing to target's flash memory regions
The difference between this and the previous patch is that now we use
ELF physical addresses only for loading objects into the target (and the
rest of the module load address logic still uses virtual addresses).

Summary:
When writing an object file over gdb-remote, use the vFlashErase, vFlashWrite, and vFlashDone commands if the write address is in a flash memory region.  A bare metal target may have this kind of setup.

- Update ObjectFileELF to set load addresses using physical addresses.  A typical case may be a data section with a physical address in ROM and a virtual address in RAM, which should be loaded to the ROM address.
- Add support for querying the target's qXfer:memory-map, which contains information about flash memory regions, leveraging MemoryRegionInfo data structures with minor modifications
- Update ProcessGDBRemote to use vFlash commands in DoWriteMemory when the target address is in a flash region

Original discussion at http://lists.llvm.org/pipermail/lldb-dev/2018-January/013093.html

Reviewers: clayborg, labath

Reviewed By: labath

Subscribers: llvm-commits, arichardson, emaste, mgorny, lldb-commits

Differential Revision: https://reviews.llvm.org/D42145
Patch by Owen Shaw <llvm@owenpshaw.net>.

llvm-svn: 327970
2018-03-20 11:56:24 +00:00
..
android/platform Wrap all references to build artifacts in the LLDB testsuite (NFC) 2018-01-19 23:24:35 +00:00
api [test] Replace some references to Apple-internal bugs 2018-03-13 23:37:11 +00:00
arm Compile the LLDB tests out-of-tree. 2018-01-30 18:29:16 +00:00
attic *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
benchmarks Compile the LLDB tests out-of-tree. 2018-01-30 18:29:16 +00:00
driver/batch_mode Wrap all references to build artifacts in the LLDB testsuite (NFC) 2018-01-19 23:24:35 +00:00
example Remove getCategories mechanism of specifying test categories 2017-11-02 22:13:09 +00:00
expression_command Compile the LLDB tests out-of-tree. 2018-01-30 18:29:16 +00:00
functionalities Re-land: [lldb] Use vFlash commands when writing to target's flash memory regions 2018-03-20 11:56:24 +00:00
help Fix the formatting for help on option value types. 2017-07-27 00:18:18 +00:00
issue_verification test infra: clear file-charged issues on rerun of file 2016-10-01 00:17:08 +00:00
lang Modernize a test. 2018-03-19 23:15:06 +00:00
linux [dotest] Clean up test folder clean-up 2018-03-16 12:04:46 +00:00
logging [dotest] make debug info variant accessible in setUp() 2018-02-05 11:30:46 +00:00
macosx [dotest] Clean up test folder clean-up 2018-03-16 12:04:46 +00:00
make Only throw -fPIC when building a shared library 2018-02-08 23:10:29 +00:00
plugins [dotest] Clean up test folder clean-up 2018-03-16 12:04:46 +00:00
python_api Fix TestSBData.py on Windows 2018-02-22 22:47:14 +00:00
sample_test Add a lldbutils routine that gathers up the boiler-plate 2017-07-06 02:18:16 +00:00
settings Next batch of test-tree-cleaning changes 2018-03-15 13:47:09 +00:00
source-manager Compile the LLDB tests out-of-tree. 2018-01-30 18:29:16 +00:00
terminal Next batch of test-tree-cleaning changes 2018-03-15 13:47:09 +00:00
test_runner added Linux support for test timeout sampling 2016-09-26 20:25:47 +00:00
tools [test] Skip flaky tests in TestMiSyntax on Darwin 2018-03-19 20:50:50 +00:00
types Fix remote tests broken by r325690 2018-02-21 17:55:22 +00:00
warnings/uuid [dotest] Clean up test folder clean-up 2018-03-16 12:04:46 +00:00
__init__.py
.categories
bench.py Remove obsolete file 2018-02-06 21:04:06 +00:00
concurrent_base.py Move "concurrent events" tests back into one folder 2018-02-27 02:01:30 +00:00
configuration.py Remove vestigial remnants of the test crash info hook 2018-02-14 16:08:26 +00:00
darwin_log.py Compile the LLDB tests out-of-tree. 2018-01-30 18:29:16 +00:00
decorators.py [test] Skip a test when using an out-of-tree debugserver 2018-03-08 19:46:39 +00:00
dosep.py Two more dosep-paralellization fallout fixes 2018-02-19 17:23:13 +00:00
dotest_args.py [test] Skip a test when using an out-of-tree debugserver 2018-03-08 19:46:39 +00:00
dotest.py [test] Skip a test when using an out-of-tree debugserver 2018-03-08 19:46:39 +00:00
lldb_pylint_helper.py
lldbbench.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
lldbcurses.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
lldbdwarf.py [LLDB][MIPS] Fix TestLldbGdbServer failure for MIPS 2017-01-10 09:33:43 +00:00
lldbinline.py [dotest] Clean up test folder clean-up 2018-03-16 12:04:46 +00:00
lldbpexpect.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
lldbplatform.py Initial patchset to get the testsuite running against armv7 and arm64 iOS devices. 2017-09-25 18:19:39 +00:00
lldbplatformutil.py Adapt some tests to work with PPC64le architecture 2018-02-28 20:57:26 +00:00
lldbtest_config.py [test] Skip a test when using an out-of-tree debugserver 2018-03-08 19:46:39 +00:00
lldbtest.py [dotest] Clean up test folder clean-up 2018-03-16 12:04:46 +00:00
lldbutil.py Next batch of test-tree-cleaning changes 2018-03-15 13:47:09 +00:00
lock.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
Makefile
README-TestSuite Add a sample_test directory with simple starter 2017-03-01 20:25:48 +00:00
redo.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
test_categories.py Add a "watchpoint" test category and annotate tests appropriately 2017-10-31 15:27:19 +00:00
test_result.py Remove vestigial remnants of the test crash info hook 2018-02-14 16:08:26 +00:00