aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2025-05-30 14:14:38 +0100
committerGitHub <noreply@github.com>2025-05-30 14:14:38 +0100
commit3745e051be6ff7c2464f775f06a71bee79eaf16f (patch)
tree054ced3d224bfbce3389ba8282ff2754dc0e8e2f /clang/lib/CodeGen/CodeGenFunction.cpp
parent9b5dc1329a9de39cee18b91ecd193aabc5c4586d (diff)
downloadllvm-3745e051be6ff7c2464f775f06a71bee79eaf16f.zip
llvm-3745e051be6ff7c2464f775f06a71bee79eaf16f.tar.gz
llvm-3745e051be6ff7c2464f775f06a71bee79eaf16f.tar.bz2
[lldb] Fix Linux core file tests hanging on Windows (#142143)
After https://github.com/llvm/llvm-project/pull/141670, TestLinuxCore.py was timing out on our Windows on Arm bot. Non-Linux core files were ok, as were Linux core files unless it was ppc64le, riscv64 or loongarch. I eventually noticed that it was attempting to create PlatformLinux many times before trying PlatformAndroid, PlatformMac etc., which it should never need to do. The tests passed on a Linux host too, to add to the mystery. Turns out, all I needed to do was mark those architectures as supported in the PlatformLinux constructor. If they're not listed there we get stuck here: ``` // Wait for a stopped event since we just posted one above... printf("waiting for process to stop...\n"); lldb::EventSP event_sp; StateType state = WaitForProcessToStop(std::nullopt, &event_sp, true, listener_sp, nullptr, true, SelectMostRelevantFrame); printf("process stopped\n"); ``` Waiting for a stop event that never comes, because it appears we try to treat the core as a real process? ``` DynamicLoaderPOSIXDYLD::virtual DynamicLoaderPOSIXDYLD::DidAttach pid 28147 executable '<null executable>', load_offset 0xffffffffffffffff <...> Process::ShouldBroadcastEvent (000002ABC43FF4A0) Restarting process from state: stopped Process::PrivateResume() m_stop_id = 1, public state: unloaded private state: stopped Process::PrivateResume() got an error "error: elf-core does not support resuming processes". Process::ShouldBroadcastEvent (000002ABC43FF4A0) => new state: stopped, last broadcast state: invalid - NO ``` Some actionable feedback here would be nice, but all I care about for now is that the tests run again. I have not added riscv32 as that appears to only be supported for Darwin at the moment (I expect someone will get burned by this when it is). I think debug on these architectures worked if they were also the host arch, if someone tried to remote debug them, I think it would have failed.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions