LLDB mainline
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/Progress.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

◆ LLDB_PROPERTIES_dynamicloaderdarwinkernel [1/2]

#define LLDB_PROPERTIES_dynamicloaderdarwinkernel

Definition at line 92 of file DynamicLoaderDarwinKernel.cpp.

◆ LLDB_PROPERTIES_dynamicloaderdarwinkernel [2/2]

#define LLDB_PROPERTIES_dynamicloaderdarwinkernel

Definition at line 92 of file DynamicLoaderDarwinKernel.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 95 of file DynamicLoaderDarwinKernel.cpp.

◆ KASLRScanType

Enumerator
eKASLRScanNone 
eKASLRScanLowgloAddresses 
eKASLRScanNearPC 
eKASLRScanExhaustiveScan 

Definition at line 56 of file DynamicLoaderDarwinKernel.cpp.

Function Documentation

◆ GetGlobalProperties()

◆ is_kernel()

Variable Documentation

◆ g_kaslr_kernel_scan_enum_values

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

Definition at line 66 of file DynamicLoaderDarwinKernel.cpp.