LLDB mainline
|
#include "RegisterContextLinux_x86_64.h"
#include "RegisterContextLinux_i386.h"
#include "RegisterContextPOSIX_x86.h"
#include <vector>
#include "RegisterInfos_x86_64_with_base.h"
Go to the source code of this file.
Classes | |
struct | _GPR |
struct | DBG |
struct | UserArea |
Typedefs | |
typedef struct _GPR | GPR |
Functions | |
static std::vector< lldb_private::RegisterInfo > & | GetPrivateRegisterInfoVector () |
static const RegisterInfo * | GetRegisterInfoPtr (const ArchSpec &target_arch) |
static uint32_t | GetRegisterInfoCount (const ArchSpec &target_arch) |
static uint32_t | GetUserRegisterInfoCount (const ArchSpec &target_arch) |
static const RegisterInfo * | GetRegisterInfo_i386 (const lldb_private::ArchSpec &arch) |
#define BNDC_OFFSET | ( | reg_index | ) |
#define BNDR_OFFSET | ( | reg_index | ) |
#define DECLARE_REGISTER_INFOS_X86_64_STRUCT |
Definition at line 80 of file RegisterContextLinux_x86_64.cpp.
#define DR_OFFSET | ( | reg_index | ) |
Definition at line 74 of file RegisterContextLinux_x86_64.cpp.
#define FLAGS_ANONYMOUS_ENUM | ( | ) |
#define FLAGS_ENUM | ( | Name | ) |
#define FPR_OFFSET | ( | regname | ) |
#define GDB_REMOTE_OFFSET 128 |
#define GPR_OFFSET | ( | regname | ) |
#define INT32_MAX 2147483647 |
#define LLDB_ARCH_DEFAULT "systemArch" |
#define LLDB_ARCH_DEFAULT_32BIT "systemArch32" |
#define LLDB_ARCH_DEFAULT_64BIT "systemArch64" |
#define LLDB_BREAK_ID_IS_INTERNAL | ( | bid | ) |
#define LLDB_BREAK_ID_IS_VALID | ( | bid | ) |
#define LLDB_DEFAULT_BREAK_SIZE 0 |
#define LLDB_DEPRECATED | ( | MSG | ) |
#define LLDB_DEPRECATED_FIXME | ( | MSG, | |
FIX ) |
#define LLDB_ERRORF | ( | status, | |
fmt, | |||
... ) |
#define LLDB_GENERIC_ERROR UINT32_MAX |
#define LLDB_HOST_COMMON_NATIVEREGISTERCONTEXT_H |
#define LLDB_HOST_COMMON_NATIVEWATCHPOINTLIST_H |
#define LLDB_INVALID_ADDRESS UINT64_MAX |
#define LLDB_INVALID_ADDRESS_MASK UINT64_MAX |
#define LLDB_INVALID_BREAK_ID 0 |
#define LLDB_INVALID_CALLBACK_TOKEN ((lldb::callback_token_t) - 1) |
#define LLDB_INVALID_COLUMN_NUMBER 0 |
#define LLDB_INVALID_CPU_ID UINT32_MAX |
#define LLDB_INVALID_CPUTYPE (0xFFFFFFFEu) |
#define LLDB_INVALID_FRAME_ID UINT32_MAX |
#define LLDB_INVALID_HOST_THREAD ((lldb::thread_t)NULL) |
#define LLDB_INVALID_IMAGE_TOKEN UINT32_MAX |
#define LLDB_INVALID_INDEX32 UINT32_MAX |
#define LLDB_INVALID_IVAR_OFFSET UINT32_MAX |
#define LLDB_INVALID_LINE_NUMBER UINT32_MAX |
#define LLDB_INVALID_MODULE_VERSION UINT32_MAX |
#define LLDB_INVALID_OFFSET UINT64_MAX |
#define LLDB_INVALID_PIPE ((lldb::pipe_t)-1) |
#define LLDB_INVALID_PROCESS ((lldb::process_t)-1) |
#define LLDB_INVALID_PROCESS_ID 0 |
#define LLDB_INVALID_QUEUE_ID 0 |
#define LLDB_INVALID_REGNUM UINT32_MAX |
#define LLDB_INVALID_SIGNAL_NUMBER INT32_MAX |
#define LLDB_INVALID_SITE_ID UINT32_MAX |
#define LLDB_INVALID_STOP_ID 0 |
#define LLDB_INVALID_THREAD_ID 0 |
#define LLDB_INVALID_UID UINT64_MAX |
#define LLDB_INVALID_WATCH_ID 0 |
#define LLDB_INVALID_WATCHPOINT_RESOURCE_ID UINT32_MAX |
#define LLDB_LLDB_DEFINES_H |
#define LLDB_LLDB_ENUMERATIONS_H |
#define LLDB_LLDB_FORWARD_H |
#define LLDB_LLDB_PRIVATE_ENUMERATIONS_H |
#define LLDB_LLDB_PRIVATE_FORWARD_H |
#define LLDB_LLDB_PRIVATE_H |
#define LLDB_LLDB_PRIVATE_INTERFACES_H |
#define LLDB_LLDB_PRIVATE_TYPES_H |
#define LLDB_LLDB_PUBLIC_H |
#define LLDB_LLDB_TYPES_H |
#define LLDB_MARK_AS_BITMASK_ENUM | ( | Enum | ) |
#define LLDB_MAX_NUM_OPTION_SETS 32 |
#define LLDB_OPT_SET_1 (1U << 0) |
#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_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_ALL 0xFFFFFFFFU |
#define LLDB_OPT_SET_FROM_TO | ( | A, | |
B ) |
#define lldb_RegisterInfos_x86_64_with_base_shared_h |
#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_FLAGS 4 |
#define LLDB_REGNUM_GENERIC_FP 2 |
#define LLDB_REGNUM_GENERIC_PC 0 |
#define LLDB_REGNUM_GENERIC_RA 3 |
#define LLDB_REGNUM_GENERIC_SP 1 |
#define LLDB_REGNUM_GENERIC_TP 13 |
#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_X86_REGISTER_ENUMS_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_ARGS_H |
#define LLDB_UTILITY_COMPLETIONREQUEST_H |
#define LLDB_UTILITY_CONSTSTRING_H |
#define LLDB_UTILITY_ENVIRONMENT_H |
#define LLDB_UTILITY_FILESPEC_H |
#define LLDB_UTILITY_FLAGS_H |
#define LLDB_UTILITY_LLDBASSERT_H |
#define LLDB_UTILITY_STATUS_H |
#define LLDB_UTILITY_STREAM_H |
#define LLDB_UTILITY_STRINGLIST_H |
#define LLDB_UTILITY_STRUCTUREDDATA_H |
#define LLDB_WATCH_ID_IS_VALID | ( | uid | ) |
#define LLDB_WATCH_TYPE_IS_VALID | ( | type | ) |
#define LLDB_WATCH_TYPE_MODIFY (1u << 2) |
#define LLDB_WATCH_TYPE_READ (1u << 0) |
#define LLDB_WATCH_TYPE_WRITE (1u << 1) |
#define lldbassert | ( | x | ) |
#define UINT32_MAX 4294967295U |
#define UINT64_MAX 18446744073709551615ULL |
#define UNUSED_IF_ASSERT_DISABLED | ( | x | ) |
#define UPDATE_DR_INFO | ( | reg_index | ) |
#define UPDATE_FP_INFO | ( | reg, | |
i ) |
#define UPDATE_FPR_INFO | ( | reg, | |
reg64 ) |
#define UPDATE_GPR_INFO | ( | reg, | |
reg64 ) |
#define UPDATE_GPR_INFO_8H | ( | reg, | |
reg64 ) |
#define UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS |
#define UPDATE_XMM_INFO | ( | reg, | |
i ) |
#define UPDATE_YMM_INFO | ( | reg, | |
i ) |
#define YMM_OFFSET | ( | reg_index | ) |
typedef struct _GPR GPR |
|
static |
Definition at line 84 of file RegisterContextLinux_x86_64.cpp.
References g_register_infos.
Referenced by GetRegisterInfo_i386(), and GetRegisterInfoCount().
|
static |
Process and Thread States.
< Process is object is valid, but not currently loaded
< Process is connected to remote debug services, but not launched or attached to anything yet
< Process is currently trying to attach
< Process is in the process of launching
< Process or thread is stopped and can be examined.
< Process or thread is running and can't be examined.
< Process or thread is in the process of stepping and can not be examined.
< Process or thread has crashed and can be examined.
< Process has been detached and can't be examined.
< Process has exited and can't be examined.
< Process or thread is in a suspended state as far as the debugger is concerned while other processes or threads get the chance to run.
Launch Flags.
< Exec when launching and turn the calling process into a new process
< Stop as soon as the process launches to allow the process to be debugged
< Stop at the program entry point instead of auto-continuing when launching or attaching at entry point
< Disable Address Space Layout Randomization
< Disable stdio for inferior process (e.g. for a GUI app)
< Launch the process in a new TTY if supported by the host
< Launch the process inside a shell to get shell expansion
< Launch the process in a separate process group If you are going to hand the process off (e.g. to debugserver)
< set this flag so lldb & the handee don't race to set its exit status.
< If set, then the client stub should detach rather than killing the debugee if it loses connection with lldb.
< Perform shell-style argument expansion
< Close the open TTY on exit
< Don't make the inferior responsible for its own TCC permissions but instead inherit them from its parent.
Thread Run Modes.
Execution directions
Byte ordering definitions.
Register encoding definitions.
< unsigned integer
< signed integer
< float
< vector registers
Display format definitions.
< Only printable characters, '.' if not printable
< Floating point complex type
< NULL terminated C strings
< OS character codes encoded into an integer 'PICT' 'text' etc...
< Integer complex type
< Print characters with no single quotes, used for character arrays that can contain non printable characters
< Describe what an address points to (func + offset with file/line, symbol + offset, data, etc)
< ISO C99 hex float string
< Disassemble an opcode
< Do not print this
< Disambiguate between 128-bit long double (which uses eFormatFloat) and __float128 (which uses eFormatFloat128). If the value being formatted is not 128 bits, then this is identical to eFormatFloat.
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
Script interpreter types.
Register numbering types.
< the register numbers seen in eh_frame
< the register numbers seen DWARF
< insn ptr reg, stack ptr reg, etc not specific to any particular target
< num used by the process plugin - e.g. by the remote gdb-protocol stub program
< lldb's internal register numbers
Thread stop reasons.
< Program was re-exec'ed
< Thread requested interrupt
Command Return Status Types.
The results of expression evaluation.
Connection Status Types.
< Success
< End-of-file encountered
< Check GetError() for details
< Request timed out
< No connection
< Lost connection while connected to a valid connection
< Interrupted read
< Generic errors that can be any value.
< Mach kernel error codes.
< POSIX error codes.
< These are from the ExpressionResults enum.
< Standard Win32 error codes.
< globals variable
< static variable
< function argument variables
< function local variables
< stack frame register value
< A collection of stack frame register values
< constant result variables
< thread local storage variable
< virtual function table
< function pointer in virtual function table
Token size/granularities for Input Readers.
These mask bits allow a common interface for queries that can limit the amount of information that gets parsed to only the information that is requested. These bits also can indicate what actually did get resolved during query function calls.
Each definition corresponds to a one of the member variables in this class, and requests that that item be resolved, or indicates that the member did get resolved.
Set when target is requested from a query, or was located in query results
Set when module is requested from a query, or was located in query results
Set when comp_unit is requested from a query, or was located in query results
Set when function is requested from a query, or was located in query results
Set when the deepest block is requested from a query, or was located in query results
Set when line_entry is requested from a query, or was located in query results
Set when symbol is requested from a query, or was located in query results
Indicates to try and lookup everything up during a routine symbol context query.
Set when global or static variable is requested from a query, or was located in query results. eSymbolContextVariable is potentially expensive to lookup so it isn't included in eSymbolContextEverything which stops it from being used during frame PC lookups and many other potential address to symbol context lookups.
< reader is newly pushed onto the reader stack
< an async output event occurred; the reader may want to do something
< reader is on top of the stack again after another reader was popped off
< another reader was pushed on the stack
< reader got one of its tokens (granularity)
< reader received an interrupt signal (probably from a control-c)
< reader received an EOF char (probably from a control-d)
< reader was just popped off the stack and is done
< Locations added doesn't get sent when the breakpoint is created
Don't stop when the watched memory region is written to.
Stop on any write access to the memory region, even if the value doesn't change. On some architectures, a write near the memory region may be falsely reported as a match, and notify this spurious stop as a watchpoint trap.
Stop on a write to the memory region that changes its value. This is most likely the behavior a user expects, and is the behavior in gdb. lldb can silently ignore writes near the watched memory region that are reported as accesses to lldb.
Programming language type.
These enumerations use the same language enumerations as the DWARF specification for ease of use and consistency. The enum -> string code is in Language.cpp, don't change this table without updating that code as well.
This datatype is used in SBExpressionOptions::SetLanguage() which makes this type API. Do not change its underlying storage type!
< Unknown or invalid language value.
< ISO C:1989.
< Non-standardized C, such as K&R.
< ISO Ada:1983.
< ISO C++:1998.
< ISO Cobol:1974.
< ISO Cobol:1985.
< ISO Fortran 77.
< ISO Fortran 90.
< ISO Pascal:1983.
< ISO Modula-2:1996.
< Java.
< ISO C:1999.
< ISO Ada:1995.
< ISO Fortran 95.
< ANSI PL/I:1976.
< Objective-C.
< Objective-C++.
< Unified Parallel C.
< D.
< Python.
< OpenCL.
< Go.
< Modula 3.
< Haskell.
< ISO C++:2003.
< ISO C++:2011.
< OCaml.
< Rust.
< ISO C:2011.
< Swift.
< Julia.
< Dylan.
< ISO C++:2014.
< ISO Fortran 2003.
< ISO Fortran 2008.
< ISO C++:2017.
< ISO C++:2020.
< Mips_Assembler.
Symbol types.
< When symbols take more than one entry, the extra entries get this type
< The section contains child sections
< Inlined C string data
< Pointers to C string data
< Address of a symbol in the symbol table
< Pointer to function pointer + selector
< Objective-C const CFString/NSString objects
< Elf SHT_SYMTAB section
< Elf SHT_DYNSYM section
< Elf SHT_REL or SHT_REL section
< Elf SHT_DYNAMIC section
< compact unwind section in Mach-O, __TEXT,__unwind_info
< Dummy section for symbols with absolute address
< DWARF .debug_types section
< DWARF v5 .debug_names
< DWARF v5 .debug_line_str
< DWARF v5 .debug_rnglists
< DWARF v5 .debug_loclists
< Automatically figure out which FunctionNameType bits to set based on the function name.
< The function name.
< For C this is the same as just the name of the function For C++ this is the mangled or demangled version of the mangled name. For ObjC this is the full function signature with the + or - and the square brackets and the class and selector
< The function name only, no namespaces or arguments and no class methods or selectors will be searched.
< Find function by method name (C++) with no namespace or arguments
< Find function by selector name (ObjC) names
< DEPRECATED: use eFunctionNameTypeAuto
Basic types enumeration for the public API SBType::GetBasicType().
Deprecated
Intel Processor Trace
Type of match to be performed when looking for a formatter for a data type. Used by classes like SBTypeNameSpecifier or lldb_private::TypeMatcher.
Options that can be set for a formatter to alter its behavior. Not all of these are applicable to all formatter types.
This is the return value for frame comparisons. If you are comparing frame A to frame B the following cases arise:
1) When frame A pushes frame B (or a frame that ends up pushing B) A is Older than B.
2) When frame A pushed frame B (or if frameA is on the stack but B is not) A is Younger than B.
3) When frame A and frame B have the same StackID, they are Equal.
4) When frame A and frame B have the same immediate parent frame, but are not equal, the comparison yields SameParent.
5) If the two frames are on different threads or processes the comparison is Invalid.
6) If for some reason we can't figure out what went on, we return Unknown.
File Permissions.
Designed to mimic the unix file permission bits so they can be used with functions that set 'mode_t' to certain values for permissions.
Queue work item types.
The different types of work that can be enqueued on a libdispatch aka Grand Central Dispatch (GCD) queue.
Queue type.
libdispatch aka Grand Central Dispatch (GCD) queues can be either serial (executing on one thread) or concurrent (executing on multiple threads).
Expression Evaluation Stages.
These are the cancellable stages of expression evaluation, passed to the expression evaluation callback, so that you can interrupt expression evaluation at the various points in its lifecycle.
Architecture-agnostic categorization of instructions for traversing the control flow of a trace.
A single instruction can match one or more of these categories.
The instruction could not be classified.
The instruction is something not listed below, i.e. it's a sequential instruction that doesn't affect the control flow of the program.
The instruction is a near (function) call.
The instruction is a near (function) return.
The instruction is a near unconditional jump.
The instruction is a near conditional jump.
The instruction is a call-like far transfer. E.g. SYSCALL, SYSENTER, or FAR CALL.
The instruction is a return-like far transfer. E.g. SYSRET, SYSEXIT, IRET, or FAR RET.
The instruction is a jump-like far transfer. E.g. FAR JMP.
Watchpoint Kind.
Indicates what types of events cause the watchpoint to fire. Used by Native *Protocol-related classes.
Used with SBHostOS::GetLLDBPath (lldb::PathType) to find files that are related to LLDB on the current host machine. Most files are relative to LLDB or are in known locations.
< The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
< Find LLDB support executable directory (debugserver, etc)
< Find LLDB header file directory
< Find Python modules (PYTHONPATH) directory
< System plug-ins directory
< User plug-ins directory
< The LLDB temp directory for this system that will be cleaned up on exit
< The LLDB temp directory for this system, NOT cleaned up on a process exit.
< Find path to Clang builtin headers
Kind of member function.
Used by the type system.
< Not sure what the type of this is
< A function used to create instances
< A function used to tear down existing instances
< A function that applies to a specific instance
< A function that applies to a type rather than any instance
String matching algorithm used by SBTarget.
Bitmask that describes details about a type.
eCommandRequiresTarget
Ensures a valid target is contained in m_exe_ctx prior to executing the command. If a target doesn't exist or is invalid, the command will fail and CommandObject::GetInvalidTargetDescription() will be returned as the error. CommandObject subclasses can override the virtual function for GetInvalidTargetDescription() to provide custom strings when needed.
eCommandRequiresProcess
Ensures a valid process is contained in m_exe_ctx prior to executing the command. If a process doesn't exist or is invalid, the command will fail and CommandObject::GetInvalidProcessDescription() will be returned as the error. CommandObject subclasses can override the virtual function for GetInvalidProcessDescription() to provide custom strings when needed.
eCommandRequiresThread
Ensures a valid thread is contained in m_exe_ctx prior to executing the command. If a thread doesn't exist or is invalid, the command will fail and CommandObject::GetInvalidThreadDescription() will be returned as the error. CommandObject subclasses can override the virtual function for GetInvalidThreadDescription() to provide custom strings when needed.
eCommandRequiresFrame
Ensures a valid frame is contained in m_exe_ctx prior to executing the command. If a frame doesn't exist or is invalid, the command will fail and CommandObject::GetInvalidFrameDescription() will be returned as the error. CommandObject subclasses can override the virtual function for GetInvalidFrameDescription() to provide custom strings when needed.
eCommandRequiresRegContext
Ensures a valid register context (from the selected frame if there is a frame in m_exe_ctx, or from the selected thread from m_exe_ctx) is available from m_exe_ctx prior to executing the command. If a target doesn't exist or is invalid, the command will fail and CommandObject::GetInvalidRegContextDescription() will be returned as the error. CommandObject subclasses can override the virtual function for GetInvalidRegContextDescription() to provide custom strings when needed.
eCommandTryTargetAPILock
Attempts to acquire the target lock if a target is selected in the command interpreter. If the command object fails to acquire the API lock, the command will fail with an appropriate error message.
eCommandProcessMustBeLaunched
Verifies that there is a launched process in m_exe_ctx, if there isn't, the command will fail with an appropriate error message.
eCommandProcessMustBePaused
Verifies that there is a paused process in m_exe_ctx, if there isn't, the command will fail with an appropriate error message.
eCommandProcessMustBeTraced
Verifies that the process is being traced by a Trace plug-in, if it isn't the command will fail with an appropriate error message.
Whether a summary should cap how much data it returns to users or not.
The result from a command interpreter run.
Command interpreter finished successfully.
Stopped because the corresponding option was set and the inferior crashed.
Stopped because the corresponding option was set and a command returned an error.
Stopped because quit was requested.
Events that might happen during a trace session.
Tracing was disabled for some time due to a software trigger.
Tracing was disable for some time due to a hardware trigger.
Event due to CPU change for a thread. This event is also fired when suddenly it's not possible to identify the cpu of a given thread.
Event due to a CPU HW clock tick.
The underlying tracing technology emitted a synchronization event used by trace processors.
Enum to indicate the reference point when invoking TraceCursor::Seek(). The following values are inspired by std::istream::seekg.
The beginning of the trace, i.e the oldest item.
The current position in the trace.
The end of the trace, i.e the most recent item.
Enum to control the verbosity level of dwim-print execution.
Run dwim-print with no verbosity.
Print a message when dwim-print uses expression evaluation.
Always print a message indicating how dwim-print is evaluating its expression.
< Watchpoint was created watching a variable
< Watchpoint was created watching the result of an expression that was evaluated at creation time.
Specifies if children need to be re-computed after a call to SyntheticChildrenFrontEnd::Update.
< Children need to be recomputed dynamically.
< Children did not change and don't need to be recomputed; re-use what we computed the last time we called Update.
Used in the SBProcess AddressMask/FixAddress methods.
Used in the SBProcess AddressMask/FixAddress methods.
Used by the debugger to indicate which events are being broadcasted.
< Deprecated
< Deprecated
Used for expressing severity in logs and diagnostics.
Callback return value, indicating whether it handled printing the CommandReturnObject or deferred doing so to the CommandInterpreter.
The callback deferred printing the command return object.
The callback handled printing the command return object.
Used to determine when to show disassembly.
< Single step one instruction.
< Single step one instruction, stepping over.
< Single step into a specified context.
< Single step over a specified context.
< Single step out a specified context.
< A step type implemented by the script interpreter.
< Address is an address as found in an object or symbol file
< Address is an address as in the current target inferior process
< Address is an address in the process that is running this code
Settable state variable types.
Instruction types
Format category entry types
Expression execution policies
Match any type.
Math any declaration context.
Useful for callbacks whose return type indicates whether to continue iteration or short-circuit.
Specifies the type of PCs when creating a HistoryThread.
< PCs are return addresses, except for topmost frame.
< All PCs are return addresses.
< PCs are call addresses.
The hardware and native stub capabilities for a given target, for translating a user's watchpoint request into hardware capable watchpoint resources.
lldb will fall back to a default that assumes the target can watch up to pointer-size power-of-2 regions, aligned to power-of-2.
Intel systems can watch 1, 2, 4, or 8 bytes (in 64-bit targets), aligned naturally.
ARM systems with Byte Address Select watchpoints can watch any consecutive series of bytes up to the size of a pointer (4 or 8 bytes), at a pointer-size alignment.
ARM systems with MASK watchpoints can watch any power-of-2 sized region from 8 bytes to 2 gigabytes, aligned to that same power-of-2 alignment.
Trace
Definition at line 90 of file RegisterContextLinux_x86_64.cpp.
References g_register_infos, and GetPrivateRegisterInfoVector().
Referenced by GetRegisterInfoPtr().
|
static |
Definition at line 125 of file RegisterContextLinux_x86_64.cpp.
References lldb_private::ArchSpec::GetMachine(), and GetPrivateRegisterInfoVector().
|
static |
Definition at line 113 of file RegisterContextLinux_x86_64.cpp.
References lldb_private::ArchSpec::GetMachine(), and GetRegisterInfo_i386().
|
static |
Definition at line 141 of file RegisterContextLinux_x86_64.cpp.
References lldb_private::ArchSpec::GetMachine(), lldb_private::x86_64_with_base::k_num_user_registers, and lldb_private::k_num_user_registers_i386.