Revert "[LLDB] Handle DIE with DW_AT_low_pc and empty ranges"This reverts commit 1beededc0e7d86d09cee972f0b9f0030a139cab4.Due to failures on the Arm/AArch64 build bots:https://lab.llvm.org/build
Revert "[LLDB] Handle DIE with DW_AT_low_pc and empty ranges"This reverts commit 1beededc0e7d86d09cee972f0b9f0030a139cab4.Due to failures on the Arm/AArch64 build bots:https://lab.llvm.org/buildbot/#/builders/96/builds/25032
show more ...
[LLDB] Handle DIE with DW_AT_low_pc and empty rangesThe case comes out of how BOLT handles transformation ofDW_AT_low_pc/DW_AT_high_pc into DW_AT_low_pc/DW_AT_high_pcwith latter being 0.Reviewe
[LLDB] Handle DIE with DW_AT_low_pc and empty rangesThe case comes out of how BOLT handles transformation ofDW_AT_low_pc/DW_AT_high_pc into DW_AT_low_pc/DW_AT_high_pcwith latter being 0.Reviewed By: clayborgDifferential Revision: https://reviews.llvm.org/D127889
[lldb] Fix flakyness in command-disassemble-process.yaml
[lldb] [Commands] Implement "thread siginfo"Differential Revision: https://reviews.llvm.org/D118473
Revert "Revert "Add the ability to write target stop-hooks using the ScriptInterpreter.""This reverts commit f775fe59640a2e837ad059a8f40e26989d4f9831.I fixed a return type error in the original p
Revert "Revert "Add the ability to write target stop-hooks using the ScriptInterpreter.""This reverts commit f775fe59640a2e837ad059a8f40e26989d4f9831.I fixed a return type error in the original patch that was causing a test failure.Also added a REQUIRES: python to the shell test so we'll skip this forpeople who build lldb w/o Python.Also added another test for the error printing.
Revert "Add the ability to write target stop-hooks using the ScriptInterpreter."This temporarily reverts commit b65966cff65bfb66de59621347ffd97238d3f645while Jim figures out why the test is failin
Revert "Add the ability to write target stop-hooks using the ScriptInterpreter."This temporarily reverts commit b65966cff65bfb66de59621347ffd97238d3f645while Jim figures out why the test is failing on the bots.
Add the ability to write target stop-hooks using the ScriptInterpreter.Differential Revision: https://reviews.llvm.org/D88123
Recommit "[lldb] Don't dissasemble large functions by default"This recommits f665e80c023 which was reverted in 1cbd1b8f692d for breakingTestFoundationDisassembly.py. The fix is to use --force in t
Recommit "[lldb] Don't dissasemble large functions by default"This recommits f665e80c023 which was reverted in 1cbd1b8f692d for breakingTestFoundationDisassembly.py. The fix is to use --force in the test to avoidbailing out on large functions.I have also doubled the large function limit to 8000 bytes (~~ 2000 insns), asthe foundation library contains a lot of large-ish functions. The intent of thisfeature is to prevent accidental disassembling of enormous (multi-megabyte)"functions", not to get in people's way.The original commit message follows:If we have a binary without symbol information (and withoutLC_FUNCTION_STARTS, if on a mac), then we have to resort to usingheuristics to determine the function boundaries. However, these don'talways work, and so we can easily end up thinking we have functionswhich are several megabytes in size. Attempting to (accidentally)disassemble these can take a very long time spam the terminal withthousands of lines of disassembly.This patch works around that problem by adding a sanity check to thedisassemble command. If we are about to disassemble a function which islarger than a certain threshold, we will refuse to disassemble such afunction unless the user explicitly specifies the number of instructionsto disassemble, uses start/stop addresses for disassembly, or passes the(new) --force argument.The threshold is currently fairly aggressive (4000 bytes ~~ 1000instructions). If needed, we can increase it, or even make itconfigurable.Differential Revision: https://reviews.llvm.org/D79789
Revert "[lldb] Don't dissasemble large functions by default"This reverts commit f665e80c023ec52557f55d7eeaf34471e4c6fa0d.Reverting because it breaks TestFoundationDisassembly.py
[lldb] Don't dissasemble large functions by defaultSummary:If we have a binary without symbol information (and withoutLC_FUNCTION_STARTS, if on a mac), then we have to resort to usingheuristics
[lldb] Don't dissasemble large functions by defaultSummary:If we have a binary without symbol information (and withoutLC_FUNCTION_STARTS, if on a mac), then we have to resort to usingheuristics to determine the function boundaries. However, these don'talways work, and so we can easily end up thinking we have functionswhich are several megabytes in size. Attempting to (accidentally)disassemble these can take a very long time spam the terminal withthousands of lines of disassembly.This patch works around that problem by adding a sanity check to thedisassemble command. If we are about to disassemble a function which islarger than a certain threshold, we will refuse to disassemble such afunction unless the user explicitly specifies the number of instructionsto disassemble, uses start/stop addresses for disassembly, or passes the(new) --force argument.The threshold is currently fairly aggressive (4000 bytes ~~ 1000instructions). If needed, we can increase it, or even make itconfigurable.Differential Revision: https://reviews.llvm.org/D79789
[lldb] Reduce duplication in CommandObjectDisassembleThis command had nearly identical code for the "then" and "else"branches of the "if (m_options.num_instructions != 0)" condition.This patch f
[lldb] Reduce duplication in CommandObjectDisassembleThis command had nearly identical code for the "then" and "else"branches of the "if (m_options.num_instructions != 0)" condition.This patch factors out the common parts of the two blocks to reduceduplication.
[lldb] Add detailed tests for the "disassemble" commandWhile we have some tests for this command already, they are very vague.This is not surprising -- it's hard to make strict assertions about th
[lldb] Add detailed tests for the "disassemble" commandWhile we have some tests for this command already, they are very vague.This is not surprising -- it's hard to make strict assertions about theassembly if your input is a c++ source file. This means that the testscan more-or-less only detect when the command breaks completely, and notwhen there is a subtle change in meaning due to e.g. a code refactor --which is something that I am getting ready to do.This tests in this patch create binaries with well known data (via assemblerand yaml2obj). This means that we are able to make precise assertionsabout the text that lldb is supposed to print. As some of the featuresof this command are only available with a real process, I use a minidumpcore file to create a sufficiently realistic process object.
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