[Lldb-commits] [PATCH] D146263: [lldb] Move UnixSignals creation into Platform plugins
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 22 15:44:17 PDT 2023
bulbazord added inline comments.
================
Comment at: lldb/source/Target/UnixSignals.cpp:39
+ // If we have no host platform, be resilient and use default UnixSignals.
+ if (!host_platform_sp)
+ s_unix_signals_sp = std::make_shared<UnixSignals>();
----------------
rupprecht wrote:
> bulbazord wrote:
> > rupprecht wrote:
> > > I think the divergence might be happening here -- the host platform is null here, so we get UnixSignals instead of the subcode from LinuxSignals.
> > Why might the HostPlatform be nullptr? I assume you're debugging a binary built for some Linux distro on some Linux machine.
> Yes, this is a local debugging session of a linux binary running on a linux machine. But it seems from my prodding around that `lldb` calls `Platform::SetHostPlatform()` (via `PlatformLinux::Initialize()`, but `lldb-server` isn't, and `lldb-server` is the thing that supposed to be returning the subcode details.
```
* frame #0: 0x0000aaaaab72dfe0 lldb-server`lldb_private::Platform::GetHostPlatform() at Platform.cpp:137:49
frame #1: 0x0000aaaaab83f6e8 lldb-server`lldb_private::UnixSignals::CreateForHost() at UnixSignals.cpp:36:27
frame #2: 0x0000aaaaab569590 lldb-server`GetCrashReasonString[abi:cxx11](info=0x0000ffffffffd9e0) at CrashReason.cpp:25:7
frame #3: 0x0000aaaaab48e084 lldb-server`lldb_private::process_linux::NativeThreadLinux::SetStoppedBySignal(this=0x0000aaaab5255180, signo=11, info=0x0000ffffffffd9e0) at NativeThreadLinux.cpp:297:28
```
Yep, that makes sense to me. I'll work on this, thanks for letting me know about this.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146263/new/
https://reviews.llvm.org/D146263
More information about the lldb-commits
mailing list