aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/functionalities/postmortem
AgeCommit message (Collapse)AuthorFilesLines
2025-09-18[lldb] Fix unsafe map mutation in ProcessElfCore::FindModuleUUID (#159444)David Peixotto1-2/+0
The `ProcessElfCore::FindModuleUUID` function can be called by multiple threads at the same time when `target.parallel-module-load` is true. We were using the `operator[]` to lookup the UUID which will mutate the map when the key is not present. This is unsafe in a multi-threaded contex so we now use a read-only `find` operation and explicitly return an invalid UUID when the key is not present. The `m_uuids` map can follow a create-then-query pattern. It is populated in the `DoLoadCore` function which looks like it is only called in a single-threaded context so we do not need extra locking as long as we keep the other accesses read-only. Other fixes I considered * Use a lock to protect access - We don't need to modify the map after creation so we can allow concurrent read-only access. * Store the map in a const pointer container to prevent accidental mutation in other places. - Only accessed in one place currently so just added a comment. * Store the UUID in the NT_FILE_Entry after building the mapping correctly in `UpdateBuildIdForNTFileEntries`. - The map lets us avoid a linear search in `FindModuleUUID`. This commit also reverts the temporary workaround from #159395 which disabled parallel module loading to avoid the test failure. Fixes #159377
2025-09-17[lldb][test] Disable parallel module loading for TestNetBSDCore.py (#159395)David Spickett1-0/+2
Since #157170 this test has been flakey on several LLDB buildbots. I suspect it's to do with mutli-threading, there are more details in #159377. Disable parallel loading for now so we are not spamming people making unrelated changes.
2025-09-09NFC: SBThread should not be the one to compute StopReasonData. (#157577)jimingham2-2/+2
This is something the StopInfo class manages, so it should be allowed to compute this rather than having SBThread do so. This code just moves the computation to methods in StopInfo. It is mostly NFC. The one change that I actually had to adjust the tests for was a couple of tests that were asking for the UnixSignal stop info data by asking for the data at index 1. GetStopInfoDataCount returns 1 and we don't do 1 based indexing so the test code was clearly wrong. But I don't think it makes sense to perpetuate handing out the value regardless of what index you pass us.
2025-09-08[lldb][elf-core][ARM] Add support for VFP registers (#155956)Igor Kudrin3-0/+61
This patch loads values of the VFP registers from the NT_ARM_VFP note. Note that a CORE/NT_FPREGSET note is typically present in core dump files and is used to store the FPA registers. The FPA unit is rare and obsolete; however, Linux creates the note even if the unit is absent.
2025-07-31[lldb] Add stop_description Python property to SBThread (#151568)Dave Lee2-8/+8
Add `stop_description` as a Python convenience property to `SBThread`.
2025-07-30[lldb] Fix updating persistent variables without JIT (#149642)Igor Kudrin1-0/+4
This patch fixes updating persistent variables when memory cannot be allocated in an inferior process: ``` > lldb -c test.core (lldb) expr int $i = 5 (lldb) expr $i = 55 (int) $0 = 55 (lldb) expr $i (int) $i = 5 ``` With this patch, the last command prints: ``` (int) $i = 55 ``` The issue was introduced in #145599.
2025-06-27[lldb] Fix evaluating expressions without JIT in an object context (#145599)Igor Kudrin4-0/+67
If a server does not support allocating memory in an inferior process or when debugging a core file, evaluating an expression in the context of a value object results in an error: ``` error: <lldb wrapper prefix>:43:1: use of undeclared identifier '$__lldb_class' 43 | $__lldb_class::$__lldb_expr(void *$__lldb_arg) | ^ ``` Such expressions require a live address to be stored in the value object. However, `EntityResultVariable::Dematerialize()` only sets `ret->m_live_sp` if JIT is available, even if the address points to the process memory and no custom allocations were made. Similarly, `EntityPersistentVariable::Dematerialize()` tries to deallocate memory based on the same check, resulting in an error if the memory was not previously allocated in `EntityPersistentVariable::Materialize()`. As an unintended bonus, the patch also fixes a FIXME case in `TestCxxChar8_t.py`.
2025-05-20[lldb][core] Fix getting summary of a variable pointing to r/o memory (#139196)Igor Kudrin3-0/+28
Motivation example: ``` > lldb -c altmain2.core ... (lldb) var F (const char *) F = 0x0804a000 "" ``` The variable `F` points to a read-only memory page not dumped to the core file, so `Process::ReadMemory()` cannot read the data. The patch switches to `Target::ReadMemory()`, which can read data both from the process memory and the application binary.
2025-02-21[lldb][LoongArch] Complete register alias name in `AugmentRegisterInfo`wanglei1-36/+43
Fixes: https://github.com/llvm/llvm-project/issues/123903 Reviewed By: DavidSpickett, SixWeining Pull Request: https://github.com/llvm/llvm-project/pull/124059
2025-02-20[lldb][RISC-V] Extended if conditions to support alias names for registers ↵kper1-72/+86
(#124475) Extending the conditionals in `AugmentRegisterInfo` to support alternative names for lldb. Fixes #124023 There is an exception with register `X8` which is not covered here but more details can be found in the issue https://github.com/llvm/llvm-project/issues/127900.
2024-10-21[lldb][LoongArch64] Add support for LoongArch64 in elf-core for lldb (#112296)Liu An3-0/+112
When using the lldb command 'target create --core' on the LoongArch64 architecture, this part of the code is required.
2024-10-18Revert "Renormalize line endings whitespace only after dccebddb3b80"Luke Drummond1-2/+2
This reverts commit 9d98acb196a40fee5229afeb08f95fd36d41c10a.
2024-10-17[LLDB][Minidump] Add breakpoint stop reasons to the minidump. (#108448)Jacob Lalonde2-0/+57
Recently my coworker @jeffreytan81 pointed out that Minidumps don't show breakpoints when collected. This was prior blocked because Minidumps could only contain 1 exception, now that we support N signals/sections we can save all the threads stopped on breakpoints.
2024-10-17Renormalize line endings whitespace only after dccebddb3b80Luke Drummond1-2/+2
Line ending policies were changed in the parent, dccebddb3b80. To make it easier to resolve downstream merge conflicts after line-ending policies are adjusted this is a separate whitespace-only commit. If you have merge conflicts as a result, you can simply `git add --renormalize -u && git merge --continue` or `git add --renormalize -u && git rebase --continue` - depending on your workflow.
2024-09-11[lldb][test] Toolchain detection rewrite in Python (#102185)Vladislav Dzhidzhoev1-0/+1
This fix is based on a problem with cxx_compiler and cxx_linker macros on Windows. There was an issue with compiler detection in paths containing "icc". In such case, Makefile.rules thought it was provided with icc compiler. To solve that, utilities detection has been rewritten in Python. The last element of compiler's path is separated, taking into account the platform path delimiter, and compiler type is extracted, with regard of possible cross-toolchain prefix. --------- Co-authored-by: Pavel Labath <pavel@labath.sk>
2024-09-09[LLDB][Minidump] Support minidumps where there are multiple exception ↵Jacob Lalonde2-4/+57
streams (#97470) Currently, LLDB assumes all minidumps will have unique sections. This is intuitive because almost all of the minidump sections are themselves lists. Exceptions including Signals are unique in that they are all individual sections with their own directory. This means LLDB fails to load minidumps with multiple exceptions due to them not being unique. This behavior is erroneous and this PR introduces support for an arbitrary number of exception streams. Additionally, stop info was calculated only for a single thread before, and now we properly support mapping exceptions to threads. ~~This PR is starting in DRAFT because implementing testing is still required.~~
2024-09-04[lldb][RISCV] Support optionally disabled FPR for riscv64 (#104547)Alexey Merzlyakov7-30/+117
The PR adds the support optionally enabled/disabled FP-registers to LLDB `RegisterInfoPOSIX_riscv64`. This situation might take place for RISC-V builds having no FP-registers, like RV64IMAC or RV64IMACV. To aim this, patch adds `opt_regsets` flags mechanism. It re-works RegisterInfo class to work with flexibly allocated (depending on `opt_regsets` flag) `m_register_sets` and `m_register_infos` vectors instead of statically defined structures. The registration of regsets is being arranged by `m_per_regset_regnum_range` map. The patch flows are spread to `NativeRegisterContextLinux_riscv64` and `RegisterContextCorePOSIX_riscv64` classes, that were tested on: - x86_64 host working with coredumps - RV64GC and RV64IMAC targets working with coredumps and natively in run-time with binaries `EmulateInstructionRISCV` is out of scope of this patch, and its behavior did not change, using maximum set of registers. According testcase built for RV64IMAC (no-FPR) was added to `TestLinuxCore.py`.
2024-08-27[lldb] Turn lldb_private::Status into a value type. (#106163)Adrian Prantl1-1/+1
This patch removes all of the Set.* methods from Status. This cleanup is part of a series of patches that make it harder use the anti-pattern of keeping a long-lives Status object around and updating it while dropping any errors it contains on the floor. This patch is largely NFC, the more interesting next steps this enables is to: 1. remove Status.Clear() 2. assert that Status::operator=() never overwrites an error 3. remove Status::operator=() Note that step (2) will bring 90% of the benefits for users, and step (3) will dramatically clean up the error handling code in various places. In the end my goal is to convert all APIs that are of the form ` ResultTy DoFoo(Status& error) ` to ` llvm::Expected<ResultTy> DoFoo() ` How to read this patch? The interesting changes are in Status.h and Status.cpp, all other changes are mostly ` perl -pi -e 's/\.SetErrorString/ = Status::FromErrorString/g' $(git grep -l SetErrorString lldb/source) ` plus the occasional manual cleanup.
2024-08-21[LLDB][Minidump] Fix ProcessMinidump::GetMemoryRegions to include 64b ↵Jacob Lalonde2-0/+62
regions when /proc/pid maps are missing. (#101086) This PR is in response to a bug my coworker @mbucko discovered where on MacOS Minidumps were being created where the 64b memory regions were readable, but were not being listed in `SBProcess.GetMemoryRegionList()`. This went unnoticed in #95312 due to all the linux testing including /proc/pid maps. On MacOS generated dumps (or any dump without access to /proc/pid) we would fail to properly map Memory Regions due to there being two independent methods for 32b and 64b mapping. In this PR I addressed this minor bug and merged the methods, but in order to add test coverage required additions to `obj2yaml` and `yaml2obj` which make up the bulk of this patch. Lastly, there are some non-required changes such as the addition of the `Memory64ListHeader` type, to make writing/reading the header section of the Memory64List easier.
2024-07-31[lldb] Allow mapping object file paths (#101361)Alexandre Perez1-0/+26
This introduces a `target.object-map` which allows us to remap module locations, much in the same way as source mapping works today. This is useful, for instance, when debugging coredumps, so we can replace some of the locations where LLDB attempts to load shared libraries and executables from, without having to setup an entire sysroot.
2024-07-03[lldb][AArch64] Add register field enum information (#96887)David Spickett1-1/+6
This enables XML output for enums and adds enums for 2 fields on AArch64 Linux: * mte_ctrl.tcf, which controls how tag faults are delivered. * fpcr.rmode, which sets the rounding mode for floating point operations. The other one we could do is cpsr.btype, but it is not clear what would be useful here so I'm not including it in this change.
2024-06-05[lldb][RISCV] Add RegisterContextPOSIXCore for RISC-V 64 (#93297)Alexey Merzlyakov3-0/+100
The PR adds the support of CoreDump debugging for RISC-V 64. It implements new `RegisterContextCorePOSIX_riscv64` class. Also, the contribution fixes `GetRegisterCount()` -> `GetRegisterSetCount()` misprint in `RegisterContextPOSIX_riscv64::GetRegisterSetCount()` method, which leaded to `set && "Register set should be valid."` assertion during `register info aX` command call. The patch was tested (on coredumps generated for simple Integer/FP calculation code) for _cross x86_64 -> RISCV_ and _native RISCV_ LLDB builds. There were performed basic LLDB functionality tests, such as: - CoreDump file load - Backtrace / frames - GP/FP registers read/info/list - Basic switch between threads - Disassembler code - Memory regions read / display
2024-05-15[lldb] Fixed the TestNetBSDCore test (#92285)Dmitry Vasilyev1-6/+6
TestNetBSDCore.py contains 3 classes with the same test names test_aarch64 and test_amd64. It causes conflicts because the same build dir. Add suffixes to avoid conflicts.
2024-05-02[lldb][test][FreeBSD] Remove corefile test xfails (#84022)David Spickett1-6/+2
Fixes #48759 As stated on the issue this was fixed by a change in FreeBSD 13, and I've confirmed that it passes on 14 as well.
2024-02-05Add a new SBProcess:: GetCoreFile() API (#80767)jeffreytan811-0/+11
We have a Python script that needs to locate coredump path during debugging so that we can retrieve certain metadata files associated with it. Currently, there is no API for this. This patch adds a new `SBProcess::GetCoreFile()` to retrieve target dump file spec used for dump debugging. Note: this is different from the main executable module spec. To achieve this, the patch hoists m_core_file into PostMortemProcess for sharing. --------- Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2023-11-27[lldb][AArch64][Linux] Correct name of FPCR fieldDavid Spickett1-2/+2
It should be "RMode" as in "rounding mode" not "RMMode".
2023-11-20Revert "Add new API in SBTarget for loading core from SBFile (#71769)"Muhammad Omair Javaid1-18/+0
This reverts commit e2fb816c4f0286ddf8b1030148a343d5efc14e01. It breaks TestLinuxCore.py on lldb-*-windows. See buildbot below: https://lab.llvm.org/buildbot/#/builders/219/builds/7014
2023-11-17Add new API in SBTarget for loading core from SBFile (#71769)GeorgeHuyubo1-0/+18
Add a new API in SBTarget to Load Core from a SBFile. This will enable a target to load core from a file descriptor. So that in coredumper, we don't need to write core file to disk, instead we can pass the input file descriptor to lldb directly. Test: ``` (lldb) script Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D. >>> file_object = open("/home/hyubo/210hda79ms32sr0h", "r") >>> fd=file_object.fileno() >>> file = lldb.SBFile(fd,'r', True) >>> error = lldb.SBError() >>> target = lldb.debugger.CreateTarget(None) >>> target.LoadCore(file,error) SBProcess: pid = 56415, state = stopped, threads = 1 ```
2023-11-09[lldb][AArch64][Linux] Add fields for FPCR register (#71694)David Spickett1-0/+4
Follows the format laid out in the Arm manual, AArch32 only fields are ignored. ``` (lldb) register read fpcr fpcr = 0x00000000 = (AHP = 0, DN = 0, FZ = 0, RMMode = 0, FZ16 = 0, IDE = 0, IXE = 0, UFE = 0, OFE = 0, DZE = 0, IOE = 0) ``` Tests use the first 4 fields that we know are always present. Converted all the HCWAP defines to `UL` because I'm bound to forget one if I don't do it now.
2023-11-09[lldb][AArch64][Linux] Add field information for the fpsr register (#71651)David Spickett1-0/+1
This one is easy because none of the fields depend on extensions. Only thing to note is that I've ignored some AArch32 only fields. ``` (lldb) register read fpsr fpsr = 0x00000000 = (QC = 0, IDC = 0, IXC = 0, UFC = 0, OFC = 0, DZC = 0, IOC = 0) ```
2023-11-08[lldb][AArch64][Linux] Add field information for the CPSR register (#70300)David Spickett1-0/+4
The contents of which are mostly SPSR_EL1 as shown in the Arm manual, with a few adjustments for things Linux says userspace shouldn't concern itself with. ``` (lldb) register read cpsr cpsr = 0x80001000 = (N = 1, Z = 0, C = 0, V = 0, SS = 0, IL = 0, ... ``` Some fields are always present, some depend on extensions. I've checked for those extensions using HWCAP and HWCAP2. To provide this for core files and live processes I've added a new class LinuxArm64RegisterFlags. This is a container for all the registers we'll want to have fields and handles detecting fields and updating register info. This is used by the native process as follows: * There is a global LinuxArm64RegisterFlags object. * The first thread takes a mutex on it, and updates the fields. * Subsequent threads see that detection is already done, and skip it. * All threads then update their own copy of the register information with pointers to the field information contained in the global object. This means that even though every thread will have the same fields, we only detect them once and have one copy of the information. Core files instead have a LinuxArm64RegisterFlags as a member, because each core file could have different saved capabilities. The logic from there is the same but we get HWACP values from the corefile note. This handler class is Linux specific right now, but it can easily be made more generic if needed. For example by using LLVM's FeatureBitset instead of HWCAPs. Updating register info is done with string comparison, which isn't ideal. For CPSR, we do know the register number ahead of time but we do not for other registers in dynamic register sets. So in the interest of consistency, I'm going to use string comparison for all registers including cpsr. I've added tests with a core file and live process. Only checking for fields that are always present to account for CPU variance.
2023-08-07[lldb] Fix typo in comments and in testEymen Ünay1-4/+4
Reviewed By: DavidSpickett Differential Revision: https://reviews.llvm.org/D157214
2023-08-04[lldb] Fix Python test formatting (NFC)Jonas Devlieghere1-4/+7
All Python files in the LLVM repository were reformatted with Black [1]. Files inside the LLDB subproject were reformatted in 2238dcc39358. This patch updates a handful of tests that were added or modified since then and weren't formatted with Black. [1] https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style/68257
2023-08-03[lldb][AArch64] Add reading of TLS tpidr register from core filesDavid Spickett3-4/+10
7e229217f4215b519b886e7881bae4da3742a7d2 did live processes, this does core files. Pretty simple, there is an NT_ARM_TLS note that contains at least tpidr, and on systems with the Scalable Matrix Extension (SME), tpidr2 as well. tpidr2 will be handled in future patches for SME support. This NT_ARM_TLS note has always been present but it seems convenient to handle it as "optional" inside of LLDB. We'll probably want the flexibility when supporting tpidr2. Normally the C library would set tpidr but all our test sources build without it. So I've updated the neon test program to write to tpidr and regenerated the corefile. I've removed the LLDB_PTRACE_NT_ARM_TLS that was unused, we get what we need from llvm's defs instead. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D156118
2023-07-20[lldb][x86_64] Support fs_base/gs_base register in LinuxJeffrey Tan1-0/+35
Summary: [lldb][x86_64] This patch adds fs_base/gs_base support for Linux x86_64. Originally, I plan to split the diff into two parts, one to refactoring lldb_xxx_x86_64 => x86_64::lldb_xxx across code base and the other one for adding fs_base/gs_base, but it turns out to be a non-trivial effort to split and very error prone so I decided to keep a single diff to get feedback. GDB supports fs_base/gs_base registers while LLDB does not. Since both linux coredump note section and ptrace supports them it is a missing feature. For context, this is a required feature to support getting pthread pointer on linux from both live and dump debugging. See thread below for details: https://discourse.llvm.org/t/how-to-get-pthread-pointer-from-lldb/70542/2?u=jeffreytan81 Implementation wise, we have initially tried `#ifdef` approach to reuse the code but it is introducing very tricky bugs and proves hard to maintain. Instead the diff completely separates the registers between x86_64 and x86_64_with_base so that non-linux related implementations can use x86_64 registers while linux uses x86_64_with_base. Here are the list of changes done in the patch: * Registers in lldb-x86-register-enums.h are separated into two: x86_64 and x86_64_with_base * fs_base/gs_base are added into x86_64_with_base * All linux files are change to use x86_64::lldb_xxx => x86_64_with_base::lldb_xxx * Support linux elf-core: * A new RegisterContextLinuxCore_x86_64 class is added for ThreadElfCore * RegisterContextLinuxCore_x86_64 overrides and uses its own register set supports fs_base/gs_base * RegisterInfos_x86_64_with_base/RegisterInfos_x86_64_with_base_shared ared added to provide g_contained_XXX/g_invalidate_XXX and RegInfo related code sharing. * `RegisterContextPOSIX_x86 ::m_gpr_x86_64` seems to be unused so I removed it. * `NativeRegisterContextDBReg_x86::GetDR()` is overridden in `NativeRegisterContextLinux_x86_64` to make watchpoint work. Reviewers:clayborg,labath,jingham,jdoerfert,JDevlieghere,kusmour,GeorgeHuyubo Subscribers: Tasks: Tags: Differential Revision: https://reviews.llvm.org/D155256
2023-05-25[NFC][Py Reformat] Reformat python files in lldbJonas Devlieghere12-764/+1019
This is an ongoing series of commits that are reformatting our Python code. Reformatting is done with `black` (23.1.0). If you end up having problems merging this commit because you have made changes to a python file, the best way to handle that is to run `git checkout --ours <yourfile>` and then reformat it with black. RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style Differential revision: https://reviews.llvm.org/D151460
2023-02-13[Test][lldb] Fix YAML mapping keys duplication. NFC.Anton Sidorenko3-3/+0
YAML specification does not allow keys duplication an a mapping. However, YAML parser in LLVM does not have any check on that and uses only the last key entry. In this change duplicated keys are merged to satisfy the spec. Differential Revision: https://reviews.llvm.org/D143727
2022-11-21Reland "[lldb] Fix SBFileSpec.fullpath"Dave Lee1-6/+6
Update `fullpath` asserts in TestMiniDump.py. This reverts commit 682fcc95f4149f00e9da961817fe2f5832e4b301.
2022-11-12[lldb] Revert SBFileSpec.fullpath path separator fixDave Lee1-6/+6
Primarily reverts 5223366416fb.
2022-11-12[lldb] Complete fix of test after 5223366416fbDave Lee1-5/+5
2022-11-12[lldb] Fix test after 5223366416fbDave Lee1-1/+1
2022-09-13[lldb] Fixed a number of typosGabriel Ravier2-2/+2
I went over the output of the following mess of a command: (ulimit -m 2000000; ulimit -v 2000000; git ls-files -z | parallel --xargs -0 cat | aspell list --mode=none --ignore-case | grep -E '^[A-Za-z][a-z]*$' | sort | uniq -c | sort -n | grep -vE '.{25}' | aspell pipe -W3 | grep : | cut -d' ' -f2 | less) and proceeded to spend a few days looking at it to find probable typos and fixed a few hundred of them in all of the llvm project (note, the ones I found are not anywhere near all of them, but it seems like a good start). Differential revision: https://reviews.llvm.org/D131122
2022-08-15[LLDB] Remove __future__ imports from testsDavid Spickett2-4/+0
Not needed now that we require python 3. Reviewed By: kastiglione, JDevlieghere Differential Revision: https://reviews.llvm.org/D131761
2022-08-11[lldb] Remove uses of six module (NFC)Dave Lee4-13/+2
With lldb (& llvm) requiring Python 3.6+, use of the `six` module can be removed. Differential Revision: https://reviews.llvm.org/D131304
2022-08-03[lldb] Add assertStopReason helper functionJonas Devlieghere6-14/+14
Add a function to make it easier to debug a test failure caused by an unexpected stop reason. This is similar to the assertState helper that was added in ce825e46743b. Before: self.assertEqual(stop_reason, lldb.eStopReasonInstrumentation) AssertionError: 5 != 10 After: self.assertStopReason(stop_reason, lldb.eStopReasonInstrumentation) AssertionError: signal (5) != instrumentation (10) Differential revision: https://reviews.llvm.org/D131083
2022-07-27[lldb] Always use APFloat for FP dumpingPavel Labath1-17/+17
The DumpDataExtractor function had two branches for printing floating point values. One branch (APFloat) was used if we had a Target object around and could query it for the appropriate semantics. If we didn't have a Target, we used host operations to read and format the value. This patch changes second path to use APFloat as well. To make it work, I pick reasonable defaults for different byte size. Notably, I did not include x87 long double in that list (as it is ambibuous and architecture-specific). This exposed a bug where we were printing register values using the target-less branch, even though the registers definitely belong to a target, and we had it available. Fixing this prompted the update of several tests for register values due to slightly different floating point outputs. The most dubious aspect of this patch is the change in TypeSystemClang::GetFloatTypeSemantics to recognize `10` as a valid size for x87 long double. This was necessary because because sizeof(long double) on x86_64 is 16 even though it only holds 10 bytes of useful data. This generalizes the hackaround present in the target-free branch of the dumping function. Differential Revision: https://reviews.llvm.org/D129750
2022-06-17[lldb][tests] Automatically call compute_mydir (NFC)Dave Lee11-22/+0
Eliminate boilerplate of having each test manually assign to `mydir` by calling `compute_mydir` in lldbtest.py. Differential Revision: https://reviews.llvm.org/D128077
2022-06-09[lldb] Use assertState in more tests (NFC)Dave Lee1-2/+2
Follow to D127355, converting more `assertEquals` to `assertState`. Differential Revision: https://reviews.llvm.org/D127378
2022-05-03Revert "[lldb] Fix ppc64 detection in lldb"David Spickett3-8/+0
This reverts commit f114f009486816ed4b3bf984f0fbbb8fc80914f6. Due to hitting an assert on our lldb bots: https://lab.llvm.org/buildbot/#/builders/96/builds/22715 ../llvm-project/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp:170: virtual lldb::RegisterContextSP ThreadElfCore::CreateRegisterContextForFrame( lldb_private::StackFrame *): Assertion `false && "Architecture or OS not supported"' failed.
2022-05-03[lldb] Fix ppc64 detection in lldbserge-sans-paille3-0/+8
Currently, ppc64le and ppc64 (defaulting to big endian) have the same descriptor, thus the linear scan always return ppc64le. Handle that through subtype. Differential Revision: https://reviews.llvm.org/D124760