The Platform base class now maintains a list of trap handlers
authorJason Molenda <jmolenda@apple.com>
Thu, 13 Feb 2014 07:11:08 +0000 (07:11 +0000)
committerJason Molenda <jmolenda@apple.com>
Thu, 13 Feb 2014 07:11:08 +0000 (07:11 +0000)
commit6223db27780ec34421fa9b22f44119aae68e1024
treea369dd864c36569fe97cf706d35afc8aa2abbee3
parent69e245c01d0dcbaeb9b0fc6c502729acbf12f3fc
The Platform base class now maintains a list of trap handlers
aka asynchronous signal handlers, which subclasses should fill
in as appropriate.  For most Unix user process environments,
the one entry in this list is _sigtramp.  For bare-board and
kernel environments, there will be different sets of trap
handlers.

The unwinder needs to know when a frame is a trap handler
because the rules it enforces for the frame "above" the
trap handler is different from most middle-of-the-stack frames.

<rdar://problem/15835846>

llvm-svn: 201300
lldb/include/lldb/Target/Platform.h
lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp
lldb/source/Target/Platform.cpp