diff options
Diffstat (limited to 'examples/python/x86_64_linux_target_definition.py')
| -rw-r--r-- | examples/python/x86_64_linux_target_definition.py | 775 |
1 files changed, 0 insertions, 775 deletions
diff --git a/examples/python/x86_64_linux_target_definition.py b/examples/python/x86_64_linux_target_definition.py deleted file mode 100644 index 9417b21abd66..000000000000 --- a/examples/python/x86_64_linux_target_definition.py +++ /dev/null @@ -1,775 +0,0 @@ -#!/usr/bin/python -#===-- x86_64_linux_target_definition.py -----------------------------*- C++ -*-===// -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===----------------------------------------------------------------------===// - -#---------------------------------------------------------------------- -# DESCRIPTION -# -# This file can be used with the following setting: -# plugin.process.gdb-remote.target-definition-file -# This setting should be used when you are trying to connect to a -# remote GDB server that doesn't support any of the register discovery -# packets that LLDB normally uses. -# -# Why is this necessary? LLDB doesn't require a new build of LLDB that -# targets each new architecture you will debug with. Instead, all -# architectures are supported and LLDB relies on extra GDB server -# packets to discover the target we are connecting to so that is can -# show the right registers for each target. This allows the GDB server -# to change and add new registers without requiring a new LLDB build -# just so we can see new registers. -# -# This file implements the x86_64 registers for the darwin version of -# GDB and allows you to connect to servers that use this register set. -# -# USAGE -# -# (lldb) settings set plugin.process.gdb-remote.target-definition-file /path/to/x86_64_linux_target_definition.py -# (lldb) gdb-remote other.baz.com:1234 -# -# The target definition file will get used if and only if the -# qRegisterInfo packets are not supported when connecting to a remote -# GDB server. -#---------------------------------------------------------------------- -from lldb import * - -# Compiler and DWARF register numbers -name_to_gcc_dwarf_regnum = { - 'rax': 0, - 'rdx': 1, - 'rcx': 2, - 'rbx': 3, - 'rsi': 4, - 'rdi': 5, - 'rbp': 6, - 'rsp': 7, - 'r8': 8, - 'r9': 9, - 'r10': 10, - 'r11': 11, - 'r12': 12, - 'r13': 13, - 'r14': 14, - 'r15': 15, - 'rip': 16, - 'xmm0': 17, - 'xmm1': 18, - 'xmm2': 19, - 'xmm3': 20, - 'xmm4': 21, - 'xmm5': 22, - 'xmm6': 23, - 'xmm7': 24, - 'xmm8': 25, - 'xmm9': 26, - 'xmm10': 27, - 'xmm11': 28, - 'xmm12': 29, - 'xmm13': 30, - 'xmm14': 31, - 'xmm15': 32, - 'stmm0': 33, - 'stmm1': 34, - 'stmm2': 35, - 'stmm3': 36, - 'stmm4': 37, - 'stmm5': 38, - 'stmm6': 39, - 'stmm7': 30, - 'ymm0': 41, - 'ymm1': 42, - 'ymm2': 43, - 'ymm3': 44, - 'ymm4': 45, - 'ymm5': 46, - 'ymm6': 47, - 'ymm7': 48, - 'ymm8': 49, - 'ymm9': 40, - 'ymm10': 41, - 'ymm11': 42, - 'ymm12': 43, - 'ymm13': 44, - 'ymm14': 45, - 'ymm15': 46 -} - -name_to_gdb_regnum = { - 'rax': 0, - 'rbx': 1, - 'rcx': 2, - 'rdx': 3, - 'rsi': 4, - 'rdi': 5, - 'rbp': 6, - 'rsp': 7, - 'r8': 8, - 'r9': 9, - 'r10': 10, - 'r11': 11, - 'r12': 12, - 'r13': 13, - 'r14': 14, - 'r15': 15, - 'rip': 16, - 'rflags': 17, - 'cs': 18, - 'ss': 19, - 'ds': 20, - 'es': 21, - 'fs': 22, - 'gs': 23, - 'stmm0': 24, - 'stmm1': 25, - 'stmm2': 26, - 'stmm3': 27, - 'stmm4': 28, - 'stmm5': 29, - 'stmm6': 30, - 'stmm7': 31, - 'fctrl': 32, - 'fstat': 33, - 'ftag': 34, - 'fiseg': 35, - 'fioff': 36, - 'foseg': 37, - 'fooff': 38, - 'fop': 39, - 'xmm0': 40, - 'xmm1': 41, - 'xmm2': 42, - 'xmm3': 43, - 'xmm4': 44, - 'xmm5': 45, - 'xmm6': 46, - 'xmm7': 47, - 'xmm8': 48, - 'xmm9': 49, - 'xmm10': 50, - 'xmm11': 51, - 'xmm12': 52, - 'xmm13': 53, - 'xmm14': 54, - 'xmm15': 55, - 'mxcsr': 56, - 'ymm0': 57, - 'ymm1': 58, - 'ymm2': 59, - 'ymm3': 60, - 'ymm4': 61, - 'ymm5': 62, - 'ymm6': 63, - 'ymm7': 64, - 'ymm8': 65, - 'ymm9': 66, - 'ymm10': 67, - 'ymm11': 68, - 'ymm12': 69, - 'ymm13': 70, - 'ymm14': 71, - 'ymm15': 72 -} - -name_to_generic_regnum = { - 'rip': LLDB_REGNUM_GENERIC_PC, - 'rsp': LLDB_REGNUM_GENERIC_SP, - 'rbp': LLDB_REGNUM_GENERIC_FP, - 'rdi': LLDB_REGNUM_GENERIC_ARG1, - 'rsi': LLDB_REGNUM_GENERIC_ARG2, - 'rdx': LLDB_REGNUM_GENERIC_ARG3, - 'rcx': LLDB_REGNUM_GENERIC_ARG4, - 'r8': LLDB_REGNUM_GENERIC_ARG5, - 'r9': LLDB_REGNUM_GENERIC_ARG6 -} - - -def get_reg_num(reg_num_dict, reg_name): - if reg_name in reg_num_dict: - return reg_num_dict[reg_name] - return LLDB_INVALID_REGNUM - -x86_64_register_infos = [ - {'name': 'rax', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'rbx', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'rcx', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'arg4'}, - {'name': 'rdx', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'arg3'}, - {'name': 'rsi', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'arg2'}, - {'name': 'rdi', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'arg1'}, - {'name': 'rbp', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'fp'}, - {'name': 'rsp', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'sp'}, - {'name': 'r8', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'arg5'}, - {'name': 'r9', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'arg6'}, - {'name': 'r10', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'r11', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'r12', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'r13', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'r14', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'r15', - 'set': 0, - 'bitsize': 64, - 'encoding': eEncodingUint, - 'format': eFormatAddressInfo}, - {'name': 'rip', 'set': 0, 'bitsize': 64, 'encoding': eEncodingUint, - 'format': eFormatAddressInfo, 'alt-name': 'pc'}, - {'name': 'rflags', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'cs', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'ss', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'ds', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'es', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'fs', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'gs', 'set': 0, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'stmm0', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm1', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm2', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm3', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm4', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm5', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm6', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'stmm7', - 'set': 1, - 'bitsize': 80, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'fctrl', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'fstat', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'ftag', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'fiseg', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'fioff', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'foseg', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'fooff', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'fop', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'xmm0', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm1', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm2', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm3', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm4', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm5', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm6', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm7', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm8', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm9', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm10', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm11', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm12', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm13', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm14', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'xmm15', - 'set': 1, - 'bitsize': 128, - 'encoding': eEncodingVector, - 'format': eFormatVectorOfUInt8}, - {'name': 'mxcsr', 'set': 1, 'bitsize': 32, - 'encoding': eEncodingUint, 'format': eFormatHex}, - {'name': 'orig_rax', 'set': 1, 'bitsize': 64, - 'encoding': eEncodingUint, 'format': eFormatHex}, - # Registers that are contained in or composed of one of more other - # registers - {'name': 'eax', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rax[31:0]'}, - {'name': 'ebx', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbx[31:0]'}, - {'name': 'ecx', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rcx[31:0]'}, - {'name': 'edx', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdx[31:0]'}, - {'name': 'edi', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdi[31:0]'}, - {'name': 'esi', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rsi[31:0]'}, - {'name': 'ebp', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbp[31:0]'}, - {'name': 'esp', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rsp[31:0]'}, - {'name': 'r8d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r8[31:0]'}, - {'name': 'r9d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r9[31:0]'}, - {'name': 'r10d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r10[31:0]'}, - {'name': 'r11d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r11[31:0]'}, - {'name': 'r12d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r12[31:0]'}, - {'name': 'r13d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r13[31:0]'}, - {'name': 'r14d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r14[31:0]'}, - {'name': 'r15d', - 'set': 0, - 'bitsize': 32, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r15[31:0]'}, - - {'name': 'ax', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rax[15:0]'}, - {'name': 'bx', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbx[15:0]'}, - {'name': 'cx', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rcx[15:0]'}, - {'name': 'dx', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdx[15:0]'}, - {'name': 'di', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdi[15:0]'}, - {'name': 'si', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rsi[15:0]'}, - {'name': 'bp', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbp[15:0]'}, - {'name': 'sp', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rsp[15:0]'}, - {'name': 'r8w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r8[15:0]'}, - {'name': 'r9w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r9[15:0]'}, - {'name': 'r10w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r10[15:0]'}, - {'name': 'r11w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r11[15:0]'}, - {'name': 'r12w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r12[15:0]'}, - {'name': 'r13w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r13[15:0]'}, - {'name': 'r14w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r14[15:0]'}, - {'name': 'r15w', - 'set': 0, - 'bitsize': 16, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r15[15:0]'}, - - {'name': 'ah', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rax[15:8]'}, - {'name': 'bh', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbx[15:8]'}, - {'name': 'ch', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rcx[15:8]'}, - {'name': 'dh', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdx[15:8]'}, - - {'name': 'al', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rax[7:0]'}, - {'name': 'bl', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbx[7:0]'}, - {'name': 'cl', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rcx[7:0]'}, - {'name': 'dl', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdx[7:0]'}, - {'name': 'dil', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rdi[7:0]'}, - {'name': 'sil', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rsi[7:0]'}, - {'name': 'bpl', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rbp[7:0]'}, - {'name': 'spl', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'rsp[7:0]'}, - {'name': 'r8l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r8[7:0]'}, - {'name': 'r9l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r9[7:0]'}, - {'name': 'r10l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r10[7:0]'}, - {'name': 'r11l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r11[7:0]'}, - {'name': 'r12l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r12[7:0]'}, - {'name': 'r13l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r13[7:0]'}, - {'name': 'r14l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r14[7:0]'}, - {'name': 'r15l', - 'set': 0, - 'bitsize': 8, - 'encoding': eEncodingUint, - 'format': eFormatHex, - 'slice': 'r15[7:0]'}, -] - -g_target_definition = None - - -def get_target_definition(): - global g_target_definition - if g_target_definition is None: - g_target_definition = {} - offset = 0 - for reg_info in x86_64_register_infos: - reg_name = reg_info['name'] - - # Only fill in the offset if there is no 'slice' in the register - # info - if 'slice' not in reg_info and 'composite' not in reg_info: - reg_info['offset'] = offset - offset += reg_info['bitsize'] / 8 - - # Set the GCC/DWARF register number for this register if it has one - reg_num = get_reg_num(name_to_gcc_dwarf_regnum, reg_name) - if reg_num != LLDB_INVALID_REGNUM: - reg_info['gcc'] = reg_num - reg_info['dwarf'] = reg_num - - # Set the generic register number for this register if it has one - reg_num = get_reg_num(name_to_generic_regnum, reg_name) - if reg_num != LLDB_INVALID_REGNUM: - reg_info['generic'] = reg_num - - # Set the GDB register number for this register if it has one - reg_num = get_reg_num(name_to_gdb_regnum, reg_name) - if reg_num != LLDB_INVALID_REGNUM: - reg_info['gdb'] = reg_num - - g_target_definition['sets'] = [ - 'General Purpose Registers', - 'Floating Point Registers'] - g_target_definition['registers'] = x86_64_register_infos - g_target_definition[ - 'host-info'] = {'triple': 'x86_64-*-linux', 'endian': eByteOrderLittle} - g_target_definition['g-packet-size'] = offset - g_target_definition['breakpoint-pc-offset'] = -1 - return g_target_definition - - -def get_dynamic_setting(target, setting_name): - if setting_name == 'gdb-server-target-definition': - return get_target_definition() |
