Ed Maste 5e82ca353d Report inferior signals as signals, not exceptions, on FreeBSD
This is the FreeBSD equivalent of r238549.

This serves 2 purposes:

* LLDB should handle inferior process signals SIGSEGV/SIGILL/SIGBUS/
  SIGFPE the way it is suppose to be handled. Prior to this fix these
  signals will neither create a coredump, nor exit from the debugger
  or work for signal handling scenario.
* eInvalidCrashReason need not report "unknown crash reason" if we have
  a valid si_signo

llvm.org/pr23699

Patch by Karnajit Wangkhem

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

llvm-svn: 310591
2017-08-10 13:47:17 +00:00

46 lines
1.4 KiB
C++

//===-- POSIXStopInfo.cpp ---------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "POSIXStopInfo.h"
using namespace lldb;
using namespace lldb_private;
//===----------------------------------------------------------------------===//
// POSIXLimboStopInfo
POSIXLimboStopInfo::~POSIXLimboStopInfo() {}
lldb::StopReason POSIXLimboStopInfo::GetStopReason() const {
return lldb::eStopReasonThreadExiting;
}
const char *POSIXLimboStopInfo::GetDescription() { return "thread exiting"; }
bool POSIXLimboStopInfo::ShouldStop(Event *event_ptr) { return false; }
bool POSIXLimboStopInfo::ShouldNotify(Event *event_ptr) { return false; }
//===----------------------------------------------------------------------===//
// POSIXNewThreadStopInfo
POSIXNewThreadStopInfo::~POSIXNewThreadStopInfo() {}
lldb::StopReason POSIXNewThreadStopInfo::GetStopReason() const {
return lldb::eStopReasonNone;
}
const char *POSIXNewThreadStopInfo::GetDescription() {
return "thread spawned";
}
bool POSIXNewThreadStopInfo::ShouldStop(Event *event_ptr) { return false; }
bool POSIXNewThreadStopInfo::ShouldNotify(Event *event_ptr) { return false; }