LLDB mainline
Classes | Macros | Enumerations | Functions | Variables
DynamicLoaderDarwinKernel.cpp File Reference
#include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
#include "Plugins/Platform/MacOSX/PlatformDarwinKernel.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Target/OperatingSystem.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlanRunToAddress.h"
#include "lldb/Utility/AddressableBits.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/State.h"
#include "DynamicLoaderDarwinKernel.h"
#include <algorithm>
#include <memory>
#include "DynamicLoaderDarwinKernelProperties.inc"
#include "DynamicLoaderDarwinKernelPropertiesEnum.inc"

Go to the source code of this file.

Classes

class  DynamicLoaderDarwinKernelProperties
 

Macros

#define DEBUG_PRINTF(fmt, ...)
 
#define LLDB_PROPERTIES_dynamicloaderdarwinkernel
 
#define LLDB_PROPERTIES_dynamicloaderdarwinkernel
 

Enumerations

enum  KASLRScanType { eKASLRScanNone = 0 , eKASLRScanLowgloAddresses , eKASLRScanNearPC , eKASLRScanExhaustiveScan }
 
enum  
 

Functions

static DynamicLoaderDarwinKernelPropertiesGetGlobalProperties ()
 
static bool is_kernel (Module *module)
 

Variables

static constexpr OptionEnumValueElement g_kaslr_kernel_scan_enum_values []
 

Macro Definition Documentation

◆ DEBUG_PRINTF

#define DEBUG_PRINTF (   fmt,
  ... 
)

Definition at line 42 of file DynamicLoaderDarwinKernel.cpp.

◆ LLDB_PROPERTIES_dynamicloaderdarwinkernel [1/2]

#define LLDB_PROPERTIES_dynamicloaderdarwinkernel

Definition at line 95 of file DynamicLoaderDarwinKernel.cpp.

◆ LLDB_PROPERTIES_dynamicloaderdarwinkernel [2/2]

#define LLDB_PROPERTIES_dynamicloaderdarwinkernel

Definition at line 95 of file DynamicLoaderDarwinKernel.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 94 of file DynamicLoaderDarwinKernel.cpp.

◆ KASLRScanType

Enumerator
eKASLRScanNone 
eKASLRScanLowgloAddresses 
eKASLRScanNearPC 
eKASLRScanExhaustiveScan 

Definition at line 55 of file DynamicLoaderDarwinKernel.cpp.

Function Documentation

◆ GetGlobalProperties()

static DynamicLoaderDarwinKernelProperties & GetGlobalProperties ( )
static

◆ is_kernel()

static bool is_kernel ( Module module)
static

Variable Documentation

◆ g_kaslr_kernel_scan_enum_values

constexpr OptionEnumValueElement g_kaslr_kernel_scan_enum_values[]
staticconstexpr
Initial value:
= {
{
"none",
"Do not read memory looking for a Darwin kernel when attaching.",
},
{
"basic",
"Check for the Darwin kernel's load addr in the lowglo page "
"(boot-args=debug) only.",
},
{
"fast-scan",
"Scan near the pc value on attach to find the Darwin kernel's load "
"address.",
},
{
"exhaustive-scan",
"Scan through the entire potential address range of Darwin kernel "
"(only on 32-bit targets).",
},
}
@ eKASLRScanLowgloAddresses
@ eKASLRScanExhaustiveScan

Definition at line 65 of file DynamicLoaderDarwinKernel.cpp.