LLDB mainline
RegisterContextLinux_x86_64.cpp File Reference

Go to the source code of this file.

Classes

struct  _GPR
struct  DBG
struct  UserArea

Macros

#define DR_OFFSET(reg_index)
#define DECLARE_REGISTER_INFOS_X86_64_STRUCT
#define UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS
#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_X86_REGISTER_ENUMS_H
#define lldb_RegisterInfos_x86_64_with_base_shared_h
#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERINFOINTERFACE_H
#define LLDB_UTILITY_ARCHSPEC_H
#define LLDB_UTILITY_COMPLETIONREQUEST_H
#define LLDB_UTILITY_ARGS_H
#define LLDB_UTILITY_ENVIRONMENT_H
#define LLDB_LLDB_PRIVATE_TYPES_H
#define LLDB_LLDB_TYPES_H
#define LLDB_LLDB_ENUMERATIONS_H
#define LLDB_MARK_AS_BITMASK_ENUM(Enum)
#define FLAGS_ENUM(Name)
#define FLAGS_ANONYMOUS_ENUM()
#define LLDB_LLDB_FORWARD_H
#define LLDB_INVALID_PROCESS   ((lldb::process_t)-1)
#define LLDB_INVALID_HOST_THREAD   ((lldb::thread_t)NULL)
#define LLDB_INVALID_PIPE   ((lldb::pipe_t)-1)
#define LLDB_INVALID_CALLBACK_TOKEN   ((lldb::callback_token_t) - 1)
#define LLDB_UTILITY_LLDBASSERT_H
#define lldbassert(x)
#define LLDB_UTILITY_STRINGLIST_H
#define LLDB_LLDB_PRIVATE_ENUMERATIONS_H
#define LLDB_HOST_COMMON_NATIVEREGISTERCONTEXT_H
#define LLDB_HOST_COMMON_NATIVEWATCHPOINTLIST_H
#define LLDB_UTILITY_STATUS_H
#define LLDB_UTILITY_FILESPEC_H
#define LLDB_UTILITY_CONSTSTRING_H
#define LLDB_UTILITY_STRUCTUREDDATA_H
#define LLDB_UTILITY_STREAM_H
#define LLDB_UTILITY_FLAGS_H
#define LLDB_LLDB_DEFINES_H
#define INT32_MAX   2147483647
#define UINT32_MAX   4294967295U
#define UINT64_MAX   18446744073709551615ULL
#define LLDB_GENERIC_ERROR   UINT32_MAX
#define LLDB_INVALID_BREAK_ID   0
#define LLDB_DEFAULT_BREAK_SIZE   0
#define LLDB_BREAK_ID_IS_VALID(bid)
#define LLDB_BREAK_ID_IS_INTERNAL(bid)
#define LLDB_INVALID_WATCH_ID   0
#define LLDB_WATCH_ID_IS_VALID(uid)
#define LLDB_WATCH_TYPE_READ   (1u << 0)
#define LLDB_WATCH_TYPE_WRITE   (1u << 1)
#define LLDB_WATCH_TYPE_MODIFY   (1u << 2)
#define LLDB_WATCH_TYPE_IS_VALID(type)
#define LLDB_INVALID_SITE_ID   UINT32_MAX
#define LLDB_REGNUM_GENERIC_PC   0
#define LLDB_REGNUM_GENERIC_SP   1
#define LLDB_REGNUM_GENERIC_FP   2
#define LLDB_REGNUM_GENERIC_RA   3
#define LLDB_REGNUM_GENERIC_FLAGS   4
#define LLDB_REGNUM_GENERIC_ARG1    5
#define LLDB_REGNUM_GENERIC_ARG2    6
#define LLDB_REGNUM_GENERIC_ARG3    7
#define LLDB_REGNUM_GENERIC_ARG4    8
#define LLDB_REGNUM_GENERIC_ARG5    9
#define LLDB_REGNUM_GENERIC_ARG6    10
#define LLDB_REGNUM_GENERIC_ARG7    11
#define LLDB_REGNUM_GENERIC_ARG8    12
#define LLDB_REGNUM_GENERIC_TP    13
#define LLDB_INVALID_STOP_ID   0
#define LLDB_INVALID_ADDRESS   UINT64_MAX
#define LLDB_INVALID_INDEX32   UINT32_MAX
#define LLDB_INVALID_IVAR_OFFSET   UINT32_MAX
#define LLDB_INVALID_IMAGE_TOKEN   UINT32_MAX
#define LLDB_INVALID_MODULE_VERSION   UINT32_MAX
#define LLDB_INVALID_REGNUM   UINT32_MAX
#define LLDB_INVALID_UID   UINT64_MAX
#define LLDB_INVALID_PROCESS_ID   0
#define LLDB_INVALID_THREAD_ID   0
#define LLDB_INVALID_FRAME_ID   UINT32_MAX
#define LLDB_UNWINDER_FRAME_LIST_ID   0
#define LLDB_INVALID_SIGNAL_NUMBER   INT32_MAX
#define LLDB_INVALID_SYMBOL_ID   UINT32_MAX
#define LLDB_INVALID_OFFSET   UINT64_MAX
#define LLDB_INVALID_LINE_NUMBER   UINT32_MAX
#define LLDB_INVALID_COLUMN_NUMBER   0
#define LLDB_INVALID_QUEUE_ID   0
#define LLDB_INVALID_CPU_ID   UINT32_MAX
#define LLDB_INVALID_WATCHPOINT_RESOURCE_ID   UINT32_MAX
#define LLDB_INVALID_GLOBALLY_UNIQUE_TARGET_ID   0
#define LLDB_ARCH_DEFAULT   "systemArch"
#define LLDB_ARCH_DEFAULT_32BIT   "systemArch32"
#define LLDB_ARCH_DEFAULT_64BIT   "systemArch64"
#define LLDB_INVALID_CPUTYPE   (0xFFFFFFFEu)
#define LLDB_MAX_NUM_OPTION_SETS   32
#define LLDB_OPT_SET_ALL   0xFFFFFFFFU
#define LLDB_OPT_SET_1   (1U << 0)
#define LLDB_OPT_SET_2   (1U << 1)
#define LLDB_OPT_SET_3   (1U << 2)
#define LLDB_OPT_SET_4   (1U << 3)
#define LLDB_OPT_SET_5   (1U << 4)
#define LLDB_OPT_SET_6   (1U << 5)
#define LLDB_OPT_SET_7   (1U << 6)
#define LLDB_OPT_SET_8   (1U << 7)
#define LLDB_OPT_SET_9   (1U << 8)
#define LLDB_OPT_SET_10   (1U << 9)
#define LLDB_OPT_SET_11   (1U << 10)
#define LLDB_OPT_SET_12   (1U << 11)
#define LLDB_OPT_SET_FROM_TO(A, B)
#define LLDB_INVALID_ADDRESS_MASK   UINT64_MAX
#define UNUSED_IF_ASSERT_DISABLED(x)
#define LLDB_DEPRECATED(MSG)
#define LLDB_DEPRECATED_FIXME(MSG, FIX)
#define LLDB_ERRORF(status, fmt, ...)
#define LLDB_LLDB_PRIVATE_FORWARD_H
#define LLDB_LLDB_PRIVATE_H
#define LLDB_LLDB_PRIVATE_INTERFACES_H
#define LLDB_LLDB_PUBLIC_H
#define GPR_OFFSET(regname)
#define FPR_OFFSET(regname)
#define YMM_OFFSET(reg_index)
#define GDB_REMOTE_OFFSET   128
#define BNDR_OFFSET(reg_index)
#define BNDC_OFFSET(reg_index)
#define UPDATE_GPR_INFO(reg, reg64)
#define UPDATE_GPR_INFO_8H(reg, reg64)
#define UPDATE_FPR_INFO(reg, reg64)
#define UPDATE_FP_INFO(reg, i)
#define UPDATE_XMM_INFO(reg, i)
#define UPDATE_YMM_INFO(reg, i)
#define UPDATE_DR_INFO(reg_index)

Typedefs

typedef struct _GPR GPR

Functions

static std::vector< lldb_private::RegisterInfo > & GetPrivateRegisterInfoVector ()
static const RegisterInfoGetRegisterInfoPtr (const ArchSpec &target_arch)
static uint32_t GetRegisterInfoCount (const ArchSpec &target_arch)
static uint32_t GetUserRegisterInfoCount (const ArchSpec &target_arch)

Macro Definition Documentation

◆ BNDC_OFFSET

#define BNDC_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, xsave) + \
LLVM_EXTENSION offsetof(XSAVE, mpxc[reg_index]) + GDB_REMOTE_OFFSET)
#define GDB_REMOTE_OFFSET

◆ BNDR_OFFSET

#define BNDR_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, xsave) + \
LLVM_EXTENSION offsetof(XSAVE, mpxr[reg_index]) + GDB_REMOTE_OFFSET)

◆ DECLARE_REGISTER_INFOS_X86_64_STRUCT

#define DECLARE_REGISTER_INFOS_X86_64_STRUCT

Definition at line 80 of file RegisterContextLinux_x86_64.cpp.

◆ DR_OFFSET

#define DR_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, dbg) + \
LLVM_EXTENSION offsetof(DBG, dr[reg_index]))

Definition at line 74 of file RegisterContextLinux_x86_64.cpp.

◆ FLAGS_ANONYMOUS_ENUM

#define FLAGS_ANONYMOUS_ENUM ( )
Value:
enum : unsigned

◆ FLAGS_ENUM

#define FLAGS_ENUM ( Name)
Value:
enum Name : unsigned

◆ FPR_OFFSET

#define FPR_OFFSET ( regname)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, fxsave) + \
LLVM_EXTENSION offsetof(FXSAVE, regname))

◆ GDB_REMOTE_OFFSET

#define GDB_REMOTE_OFFSET   128

◆ GPR_OFFSET

#define GPR_OFFSET ( regname)
Value:
(LLVM_EXTENSION offsetof(GPR, regname))

◆ INT32_MAX

#define INT32_MAX   2147483647

◆ LLDB_ARCH_DEFAULT

#define LLDB_ARCH_DEFAULT   "systemArch"

◆ LLDB_ARCH_DEFAULT_32BIT

#define LLDB_ARCH_DEFAULT_32BIT   "systemArch32"

◆ LLDB_ARCH_DEFAULT_64BIT

#define LLDB_ARCH_DEFAULT_64BIT   "systemArch64"

◆ LLDB_BREAK_ID_IS_INTERNAL

#define LLDB_BREAK_ID_IS_INTERNAL ( bid)
Value:
((bid) < 0)

◆ LLDB_BREAK_ID_IS_VALID

#define LLDB_BREAK_ID_IS_VALID ( bid)
Value:
#define LLDB_INVALID_BREAK_ID

◆ LLDB_DEFAULT_BREAK_SIZE

#define LLDB_DEFAULT_BREAK_SIZE   0

◆ LLDB_DEPRECATED

#define LLDB_DEPRECATED ( MSG)
Value:
[[deprecated("This method is no longer supported: " MSG)]]

◆ LLDB_DEPRECATED_FIXME

#define LLDB_DEPRECATED_FIXME ( MSG,
FIX )
Value:
#define LLDB_DEPRECATED(MSG)
Definition SBDefines.h:38

◆ LLDB_ERRORF

#define LLDB_ERRORF ( status,
fmt,
... )
Value:
do { \
if (status) { \
(status)->SetErrorStringWithFormat((fmt), __VA_ARGS__); \
} \
} while (0);

◆ LLDB_GENERIC_ERROR

#define LLDB_GENERIC_ERROR   UINT32_MAX

◆ LLDB_HOST_COMMON_NATIVEREGISTERCONTEXT_H

#define LLDB_HOST_COMMON_NATIVEREGISTERCONTEXT_H

◆ LLDB_HOST_COMMON_NATIVEWATCHPOINTLIST_H

#define LLDB_HOST_COMMON_NATIVEWATCHPOINTLIST_H

◆ LLDB_INVALID_ADDRESS

#define LLDB_INVALID_ADDRESS   UINT64_MAX

◆ LLDB_INVALID_ADDRESS_MASK

#define LLDB_INVALID_ADDRESS_MASK   UINT64_MAX

◆ LLDB_INVALID_BREAK_ID

#define LLDB_INVALID_BREAK_ID   0

◆ LLDB_INVALID_CALLBACK_TOKEN

#define LLDB_INVALID_CALLBACK_TOKEN   ((lldb::callback_token_t) - 1)

◆ LLDB_INVALID_COLUMN_NUMBER

#define LLDB_INVALID_COLUMN_NUMBER   0

◆ LLDB_INVALID_CPU_ID

#define LLDB_INVALID_CPU_ID   UINT32_MAX

◆ LLDB_INVALID_CPUTYPE

#define LLDB_INVALID_CPUTYPE   (0xFFFFFFFEu)

◆ LLDB_INVALID_FRAME_ID

#define LLDB_INVALID_FRAME_ID   UINT32_MAX

◆ LLDB_INVALID_GLOBALLY_UNIQUE_TARGET_ID

#define LLDB_INVALID_GLOBALLY_UNIQUE_TARGET_ID   0

◆ LLDB_INVALID_HOST_THREAD

#define LLDB_INVALID_HOST_THREAD   ((lldb::thread_t)NULL)

◆ LLDB_INVALID_IMAGE_TOKEN

#define LLDB_INVALID_IMAGE_TOKEN   UINT32_MAX

◆ LLDB_INVALID_INDEX32

#define LLDB_INVALID_INDEX32   UINT32_MAX

◆ LLDB_INVALID_IVAR_OFFSET

#define LLDB_INVALID_IVAR_OFFSET   UINT32_MAX

◆ LLDB_INVALID_LINE_NUMBER

#define LLDB_INVALID_LINE_NUMBER   UINT32_MAX

◆ LLDB_INVALID_MODULE_VERSION

#define LLDB_INVALID_MODULE_VERSION   UINT32_MAX

◆ LLDB_INVALID_OFFSET

#define LLDB_INVALID_OFFSET   UINT64_MAX

◆ LLDB_INVALID_PIPE

#define LLDB_INVALID_PIPE   ((lldb::pipe_t)-1)

◆ LLDB_INVALID_PROCESS

#define LLDB_INVALID_PROCESS   ((lldb::process_t)-1)

◆ LLDB_INVALID_PROCESS_ID

#define LLDB_INVALID_PROCESS_ID   0

◆ LLDB_INVALID_QUEUE_ID

#define LLDB_INVALID_QUEUE_ID   0

◆ LLDB_INVALID_REGNUM

#define LLDB_INVALID_REGNUM   UINT32_MAX

◆ LLDB_INVALID_SIGNAL_NUMBER

#define LLDB_INVALID_SIGNAL_NUMBER   INT32_MAX

◆ LLDB_INVALID_SITE_ID

#define LLDB_INVALID_SITE_ID   UINT32_MAX

◆ LLDB_INVALID_STOP_ID

#define LLDB_INVALID_STOP_ID   0

◆ LLDB_INVALID_SYMBOL_ID

#define LLDB_INVALID_SYMBOL_ID   UINT32_MAX

◆ LLDB_INVALID_THREAD_ID

#define LLDB_INVALID_THREAD_ID   0

◆ LLDB_INVALID_UID

#define LLDB_INVALID_UID   UINT64_MAX

◆ LLDB_INVALID_WATCH_ID

#define LLDB_INVALID_WATCH_ID   0

◆ LLDB_INVALID_WATCHPOINT_RESOURCE_ID

#define LLDB_INVALID_WATCHPOINT_RESOURCE_ID   UINT32_MAX

◆ LLDB_LLDB_DEFINES_H

#define LLDB_LLDB_DEFINES_H

◆ LLDB_LLDB_ENUMERATIONS_H

#define LLDB_LLDB_ENUMERATIONS_H

◆ LLDB_LLDB_FORWARD_H

#define LLDB_LLDB_FORWARD_H

◆ LLDB_LLDB_PRIVATE_ENUMERATIONS_H

#define LLDB_LLDB_PRIVATE_ENUMERATIONS_H

◆ LLDB_LLDB_PRIVATE_FORWARD_H

#define LLDB_LLDB_PRIVATE_FORWARD_H

◆ LLDB_LLDB_PRIVATE_H

#define LLDB_LLDB_PRIVATE_H

◆ LLDB_LLDB_PRIVATE_INTERFACES_H

#define LLDB_LLDB_PRIVATE_INTERFACES_H

◆ LLDB_LLDB_PRIVATE_TYPES_H

#define LLDB_LLDB_PRIVATE_TYPES_H

◆ LLDB_LLDB_PUBLIC_H

#define LLDB_LLDB_PUBLIC_H

◆ LLDB_LLDB_TYPES_H

#define LLDB_LLDB_TYPES_H

◆ LLDB_MARK_AS_BITMASK_ENUM

#define LLDB_MARK_AS_BITMASK_ENUM ( Enum)
Value:
constexpr Enum operator|(Enum a, Enum b) { \
return static_cast<Enum>( \
static_cast<std::underlying_type<Enum>::type>(a) | \
static_cast<std::underlying_type<Enum>::type>(b)); \
} \
constexpr Enum operator&(Enum a, Enum b) { \
return static_cast<Enum>( \
static_cast<std::underlying_type<Enum>::type>(a) & \
static_cast<std::underlying_type<Enum>::type>(b)); \
} \
constexpr Enum operator~(Enum a) { \
return static_cast<Enum>( \
~static_cast<std::underlying_type<Enum>::type>(a)); \
} \
inline Enum &operator|=(Enum &a, Enum b) { \
a = a | b; \
return a; \
} \
inline Enum &operator&=(Enum &a, Enum b) { \
a = a & b; \
return a; \
}
const Scalar operator&(Scalar lhs, Scalar rhs)
Definition Scalar.cpp:591
const Scalar operator|(Scalar lhs, Scalar rhs)
Definition Scalar.cpp:602

◆ LLDB_MAX_NUM_OPTION_SETS

#define LLDB_MAX_NUM_OPTION_SETS   32

◆ LLDB_OPT_SET_1

#define LLDB_OPT_SET_1   (1U << 0)

◆ LLDB_OPT_SET_10

#define LLDB_OPT_SET_10   (1U << 9)

◆ LLDB_OPT_SET_11

#define LLDB_OPT_SET_11   (1U << 10)

◆ LLDB_OPT_SET_12

#define LLDB_OPT_SET_12   (1U << 11)

◆ LLDB_OPT_SET_2

#define LLDB_OPT_SET_2   (1U << 1)

◆ LLDB_OPT_SET_3

#define LLDB_OPT_SET_3   (1U << 2)

◆ LLDB_OPT_SET_4

#define LLDB_OPT_SET_4   (1U << 3)

◆ LLDB_OPT_SET_5

#define LLDB_OPT_SET_5   (1U << 4)

◆ LLDB_OPT_SET_6

#define LLDB_OPT_SET_6   (1U << 5)

◆ LLDB_OPT_SET_7

#define LLDB_OPT_SET_7   (1U << 6)

◆ LLDB_OPT_SET_8

#define LLDB_OPT_SET_8   (1U << 7)

◆ LLDB_OPT_SET_9

#define LLDB_OPT_SET_9   (1U << 8)

◆ LLDB_OPT_SET_ALL

#define LLDB_OPT_SET_ALL   0xFFFFFFFFU

◆ LLDB_OPT_SET_FROM_TO

#define LLDB_OPT_SET_FROM_TO ( A,
B )
Value:
(((1U << (B)) - 1) ^ (((1U << (A)) - 1) >> 1))

◆ lldb_RegisterInfos_x86_64_with_base_shared_h

#define lldb_RegisterInfos_x86_64_with_base_shared_h

◆ LLDB_REGNUM_GENERIC_ARG1

#define LLDB_REGNUM_GENERIC_ARG1    5

◆ LLDB_REGNUM_GENERIC_ARG2

#define LLDB_REGNUM_GENERIC_ARG2    6

◆ LLDB_REGNUM_GENERIC_ARG3

#define LLDB_REGNUM_GENERIC_ARG3    7

◆ LLDB_REGNUM_GENERIC_ARG4

#define LLDB_REGNUM_GENERIC_ARG4    8

◆ LLDB_REGNUM_GENERIC_ARG5

#define LLDB_REGNUM_GENERIC_ARG5    9

◆ LLDB_REGNUM_GENERIC_ARG6

#define LLDB_REGNUM_GENERIC_ARG6    10

◆ LLDB_REGNUM_GENERIC_ARG7

#define LLDB_REGNUM_GENERIC_ARG7    11

◆ LLDB_REGNUM_GENERIC_ARG8

#define LLDB_REGNUM_GENERIC_ARG8    12

◆ LLDB_REGNUM_GENERIC_FLAGS

#define LLDB_REGNUM_GENERIC_FLAGS   4

◆ LLDB_REGNUM_GENERIC_FP

#define LLDB_REGNUM_GENERIC_FP   2

◆ LLDB_REGNUM_GENERIC_PC

#define LLDB_REGNUM_GENERIC_PC   0

◆ LLDB_REGNUM_GENERIC_RA

#define LLDB_REGNUM_GENERIC_RA   3

◆ LLDB_REGNUM_GENERIC_SP

#define LLDB_REGNUM_GENERIC_SP   1

◆ LLDB_REGNUM_GENERIC_TP

#define LLDB_REGNUM_GENERIC_TP    13

◆ LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_X86_REGISTER_ENUMS_H

#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_X86_REGISTER_ENUMS_H

◆ LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H

#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H

◆ LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERINFOINTERFACE_H

#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERINFOINTERFACE_H

◆ LLDB_UNWINDER_FRAME_LIST_ID

#define LLDB_UNWINDER_FRAME_LIST_ID   0

◆ LLDB_UTILITY_ARCHSPEC_H

#define LLDB_UTILITY_ARCHSPEC_H

◆ LLDB_UTILITY_ARGS_H

#define LLDB_UTILITY_ARGS_H

◆ LLDB_UTILITY_COMPLETIONREQUEST_H

#define LLDB_UTILITY_COMPLETIONREQUEST_H

◆ LLDB_UTILITY_CONSTSTRING_H

#define LLDB_UTILITY_CONSTSTRING_H

◆ LLDB_UTILITY_ENVIRONMENT_H

#define LLDB_UTILITY_ENVIRONMENT_H

◆ LLDB_UTILITY_FILESPEC_H

#define LLDB_UTILITY_FILESPEC_H

◆ LLDB_UTILITY_FLAGS_H

#define LLDB_UTILITY_FLAGS_H

◆ LLDB_UTILITY_LLDBASSERT_H

#define LLDB_UTILITY_LLDBASSERT_H

◆ LLDB_UTILITY_STATUS_H

#define LLDB_UTILITY_STATUS_H

◆ LLDB_UTILITY_STREAM_H

#define LLDB_UTILITY_STREAM_H

◆ LLDB_UTILITY_STRINGLIST_H

#define LLDB_UTILITY_STRINGLIST_H

◆ LLDB_UTILITY_STRUCTUREDDATA_H

#define LLDB_UTILITY_STRUCTUREDDATA_H

◆ LLDB_WATCH_ID_IS_VALID

#define LLDB_WATCH_ID_IS_VALID ( uid)
Value:
#define LLDB_INVALID_WATCH_ID

◆ LLDB_WATCH_TYPE_IS_VALID

#define LLDB_WATCH_TYPE_IS_VALID ( type)
Value:
((type & LLDB_WATCH_TYPE_READ) || (type & LLDB_WATCH_TYPE_WRITE) || \
#define LLDB_WATCH_TYPE_WRITE
#define LLDB_WATCH_TYPE_MODIFY
#define LLDB_WATCH_TYPE_READ

◆ LLDB_WATCH_TYPE_MODIFY

#define LLDB_WATCH_TYPE_MODIFY   (1u << 2)

◆ LLDB_WATCH_TYPE_READ

#define LLDB_WATCH_TYPE_READ   (1u << 0)

◆ LLDB_WATCH_TYPE_WRITE

#define LLDB_WATCH_TYPE_WRITE   (1u << 1)

◆ lldbassert

#define lldbassert ( x)
Value:
assert(x)

◆ UINT32_MAX

#define UINT32_MAX   4294967295U

◆ UINT64_MAX

#define UINT64_MAX   18446744073709551615ULL

◆ UNUSED_IF_ASSERT_DISABLED

#define UNUSED_IF_ASSERT_DISABLED ( x)
Value:
((void)(x))

◆ UPDATE_DR_INFO

#define UPDATE_DR_INFO ( reg_index)
Value:
do { \
g_register_infos[lldb_dr##reg_index##_i386].byte_offset = \
DR_OFFSET(reg_index); \
} while (false);
static const RegisterInfo g_register_infos[]

◆ UPDATE_FP_INFO

#define UPDATE_FP_INFO ( reg,
i )
Value:
do { \
g_register_infos[lldb_##reg##i##_i386].byte_offset = FPR_OFFSET(stmm[i]); \
} while (false);
#define FPR_OFFSET(regname)

◆ UPDATE_FPR_INFO

#define UPDATE_FPR_INFO ( reg,
reg64 )
Value:
do { \
g_register_infos[lldb_##reg##_i386].byte_offset = FPR_OFFSET(reg64); \
} while (false);

◆ UPDATE_GPR_INFO

#define UPDATE_GPR_INFO ( reg,
reg64 )
Value:
do { \
g_register_infos[lldb_##reg##_i386].byte_offset = GPR_OFFSET(reg64); \
} while (false);
#define GPR_OFFSET(idx)

◆ UPDATE_GPR_INFO_8H

#define UPDATE_GPR_INFO_8H ( reg,
reg64 )
Value:
do { \
g_register_infos[lldb_##reg##_i386].byte_offset = GPR_OFFSET(reg64) + 1; \
} while (false);

◆ UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS

#define UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS

◆ UPDATE_XMM_INFO

#define UPDATE_XMM_INFO ( reg,
i )
Value:
do { \
g_register_infos[lldb_##reg##i##_i386].byte_offset = FPR_OFFSET(reg[i]); \
} while (false);

◆ UPDATE_YMM_INFO

#define UPDATE_YMM_INFO ( reg,
i )
Value:
do { \
g_register_infos[lldb_##reg##i##_i386].byte_offset = YMM_OFFSET(i); \
} while (false);
#define YMM_OFFSET(reg_index)

◆ YMM_OFFSET

#define YMM_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, xsave) + \
LLVM_EXTENSION offsetof(XSAVE, ymmh[0]) + (32 * reg_index))

Typedef Documentation

◆ GPR

typedef struct _GPR GPR

Function Documentation

◆ GetPrivateRegisterInfoVector()

std::vector< lldb_private::RegisterInfo > & GetPrivateRegisterInfoVector ( )
static

Definition at line 84 of file RegisterContextLinux_x86_64.cpp.

References g_register_infos.

Referenced by GetRegisterInfoCount().

◆ GetRegisterInfoCount()

uint32_t GetRegisterInfoCount ( const ArchSpec & target_arch)
static

◆ GetRegisterInfoPtr()

const RegisterInfo * GetRegisterInfoPtr ( const ArchSpec & target_arch)
static

◆ GetUserRegisterInfoCount()

uint32_t GetUserRegisterInfoCount ( const ArchSpec & target_arch)
static