[Lldb-commits] [lldb] r128547 - in /lldb/trunk/source/Plugins/Process/Linux: LinuxSignals.cpp LinuxSignals.h LinuxStopInfo.cpp LinuxStopInfo.h LinuxThread.cpp LinuxThread.h ProcessLinux.cpp ProcessLinux.h ProcessMessage.cpp ProcessMessage.h ProcessMonitor.cpp ProcessMonitor.h

Greg Clayton gclayton at apple.com
Wed Mar 30 09:51:56 PDT 2011

Well done! I am glad to see this works well for Linux.

One question: are all of the signals you added actually signals? It looked like it from what I can tell. One of the hacks we did in GDB for mach exceptions was to make up new fake signal numbers because the debugger wanted to deal with signals.

One thing I just want to make sure happens in LLDB is that we never have to make up anything. For mach exceptions, we have a StopInfo subclass that is not part of the built in StopInfo stuff: StopInfoMachException. This class takes care of doing all of the special mach things that no other platform really cares about. 

So if there are things that aren't signals in your recent checkin, you might consider making a StopInfoLinux to take care of any special things that aren't signal related.

Greg Clayton

On Mar 30, 2011, at 8:55 AM, Stephen Wilson wrote:

> Author: wilsons
> Date: Wed Mar 30 10:55:52 2011
> New Revision: 128547
> URL: http://llvm.org/viewvc/llvm-project?rev=128547&view=rev
> Log:
> linux: initial support for 'real' signal handling
> This patch upgrades the Linux process plugin to handle a larger range of signal
> events.  For example, we can detect when the inferior has "crashed" and why,
> interrupt a running process, deliver an arbitrary signal, and so on.
> Added:
>    lldb/trunk/source/Plugins/Process/Linux/LinuxSignals.cpp
>    lldb/trunk/source/Plugins/Process/Linux/LinuxSignals.h
>    lldb/trunk/source/Plugins/Process/Linux/LinuxStopInfo.cpp
>    lldb/trunk/source/Plugins/Process/Linux/LinuxStopInfo.h
>    lldb/trunk/source/Plugins/Process/Linux/ProcessMessage.cpp
> Modified:
>    lldb/trunk/source/Plugins/Process/Linux/LinuxThread.cpp
>    lldb/trunk/source/Plugins/Process/Linux/LinuxThread.h
>    lldb/trunk/source/Plugins/Process/Linux/ProcessLinux.cpp
>    lldb/trunk/source/Plugins/Process/Linux/ProcessLinux.h
>    lldb/trunk/source/Plugins/Process/Linux/ProcessMessage.h
>    lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp
>    lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.h

More information about the lldb-commits mailing list