| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
This test includes a source that will produce basic blocks and hence sections with -fbasic-block-sections=all. The test reorders the basic blocks to be dis-contiguous in the address space and checks if the back trace contains the right symbol. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D89179 | 5 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[lldb/Unwind] Use eh_frame plan directly when it doesn't need to be augmented Summary: This fixes a bug in the logic for choosing the unwind plan. Based on the comment in UnwindAssembly-x86, the intention was that a plan which describes the function epilogue correctly does not need to be augmented (and it should be used directly). However, the way this was implemented (by returning false) meant that the higher level code (FuncUnwinders::GetEHFrameAugmentedUnwindPlan) interpreted this as a failure to produce _any_ plan and proceeded with other fallback options. The fallback usually chosed for "asynchronous" plans was the "instruction emulation" plan, which tended to fall over on certain functions with multiple epilogues (that's a separate bug). This patch simply changes the function to return true, which signals the caller that the unmodified plan is ready to be used. The attached test case demonstrates the case where we would previously fall back to the instruction emulation plan, and unwind incorrectly -- the test asserts that the "augmented" eh_frame plan is used, and that the unwind is correct. Reviewers: jasonmolenda, jankratochvil Subscribers: davide, echristo, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D82378 | 6 年前 | |
[lldb] Make test for D153043 independent of external symbols This removes dependence on the libc abort function. | 3 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[lldb] Fix eh-frame-small-fde test for changes in lld lld in 2bfee35 started emitting relocations for some intra-section jumps between global symbols. This shifted the code around a bit, invalidating text expectations. Change the symbols to local to keep the previous behavior. | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Reapply "[lldb/aarch64] Fix unwinding when signal interrupts a leaf f… (#92503) …unction (#91321)" This reapplies fd1bd53ba5a06f344698a55578f6a5d79c457e30, which was reverted due to a test failure on aarch64/windows. The failure was caused by a combination of several factors: - clang targeting aarch64-windows (unlike msvc, and unlike clang targeting other aarch64 platforms) defaults to -fomit-frame-pointers - lldb's code for looking up register values for <same> unwind rules is recursive - the test binary creates a very long chain of fp-less function frames (it manages to fit about 22k frames before it blows its stack) Together, these things have caused lldb to recreate the same deep recursion when unwinding through this, and blow its own stack as well. Since lldb frames are larger, about 4k frames like this was sufficient to trigger the stack overflow. This version of the patch works around this problem by increasing the frame size of the test binary, thereby causing it to blow its stack sooner. This doesn't fix the issue -- the same problem can occur with a real binary -- but it's not very likely, as it requires an infinite recursion in a simple (so it doesn't use the frame pointer) function with a very small frame (so you can fit a lot of them on the stack). A more principled fix would be to make lldb's lookup code non-recursive, but I believe that's out of scope for this patch. The original patch description follows: A leaf function may not store the link register to stack, but we it can still end up being a non-zero frame if it gets interrupted by a signal. Currently, we were unable to unwind past this function because we could not read the link register value. To make this work, this patch: - changes the function-entry unwind plan to include the fp|lr = <same> rules. This in turn necessitated an adjustment in the generic instruction emulation logic to ensure that lr=[sp-X] can override the <same> rule. - allows the <same> rule for pc and lr in all m_all_registers_available frames (and not just frame zero). The test verifies that we can unwind in a situation like this, and that the backtrace matches the one we computed before getting a signal. | 2 年前 | |
Test to check backtraces with machine function splitting. clang supports option -fsplit-machine-functions and this test checks if the backtraces are sane when functions are split. With -fsplit-machine-functions, a function with profiles can get split into 2 parts, the original function containing hot code and a cold part as determined by the profile info and the cold cutoff threshold.. The cold part gets the ".cold" suffix to disambiguate its symbol from the hot part and can be placed arbitrarily in the address space. This test checks if the back-trace looks correct when the cold part is executed. Differential Revision: https://reviews.llvm.org/D90081 | 5 年前 | |
[lldb] One more attempt to fix thread-step-out-ret-addr-check on windows | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[lldb/aarch64] Allow unaligned PC addresses below a trap handler (#92093) The stack validation heuristic is counter-productive in this case, as the unaligned address is most likely the thing that caused the signal in the first place. | 2 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[lldb] Reduce the stack alignment requirements for the Windows x86_64 ABI This fixes https://github.com/llvm/llvm-project/issues/56095. Differential Revision: https://reviews.llvm.org/D129455 | 4 年前 | |
[lldb] Reduce the stack alignment requirements for the Windows x86_64 ABI This fixes https://github.com/llvm/llvm-project/issues/56095. Differential Revision: https://reviews.llvm.org/D129455 | 4 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 4 年前 |