[all-commits] [llvm/llvm-project] bff467: Add a darwin platform setting to specify which exc...

jimingham via All-commits all-commits at lists.llvm.org
Wed May 18 10:16:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bff4673b41781ec5bff6b96b52cf321d2271726c
      https://github.com/llvm/llvm-project/commit/bff4673b41781ec5bff6b96b52cf321d2271726c
  Author: Jim Ingham <jingham at apple.com>
  Date:   2022-05-18 (Wed, 18 May 2022)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSXProperties.td
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Utility/StringExtractorGDBRemote.cpp
    A lldb/test/API/macosx/ignore_exceptions/Makefile
    A lldb/test/API/macosx/ignore_exceptions/TestIgnoredExceptions.py
    A lldb/test/API/macosx/ignore_exceptions/main.c
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/MacOSX/MachException.cpp
    M lldb/tools/debugserver/source/MacOSX/MachException.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/MacOSX/MachTask.h
    M lldb/tools/debugserver/source/MacOSX/MachTask.mm
    M lldb/tools/debugserver/source/RNBContext.cpp
    M lldb/tools/debugserver/source/RNBContext.h
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/debugserver/source/RNBRemote.h
    M lldb/tools/debugserver/source/debugserver.cpp

  Log Message:
  -----------
  Add a darwin platform setting to specify which exceptions debugserver
should not receive as exceptions (some will get converted to BSD
signals instead).  This is really the only stable way to ensure that
a Mach exception gets converted to it's equivalent BSD signal.  For
programs that rely on BSD signal handlers, this has to happen or you
can't even get the program to invoke the signal handler when under
the debugger.

This builds on a previous solution to this problem which required you
start debugserver with the -U flag.  This was not very discoverable
and required lldb be the one to launch debugserver, which is not always
the case.

Differential Revision: https://reviews.llvm.org/D125434




More information about the All-commits mailing list