diff options
author | Kate Stone <katherine.stone@apple.com> | 2016-09-06 20:57:50 +0000 |
---|---|---|
committer | Kate Stone <katherine.stone@apple.com> | 2016-09-06 20:57:50 +0000 |
commit | b9c1b51e45b845debb76d8658edabca70ca56079 (patch) | |
tree | dfcb5a13ef2b014202340f47036da383eaee74aa /lldb/examples/python/x86_64_qemu_target_definition.py | |
parent | d5aa73376966339caad04013510626ec2e42c760 (diff) | |
download | bcm5719-llvm-b9c1b51e45b845debb76d8658edabca70ca56079.tar.gz bcm5719-llvm-b9c1b51e45b845debb76d8658edabca70ca56079.zip |
*** This commit represents a complete reformatting of the LLDB source code
*** to conform to clang-format’s LLVM style. This kind of mass change has
*** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge
effort. Alternatively, it may be worth merging all changes up to this commit,
performing the same reformatting operation locally, and then discarding the
merge for this particular commit. The commands used to accomplish this
reformatting were as follows (with current working directory as the root of
the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} +
find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of
a meaningful prior commit. There are alternatives available that will attempt
to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
Diffstat (limited to 'lldb/examples/python/x86_64_qemu_target_definition.py')
-rw-r--r-- | lldb/examples/python/x86_64_qemu_target_definition.py | 971 |
1 files changed, 696 insertions, 275 deletions
diff --git a/lldb/examples/python/x86_64_qemu_target_definition.py b/lldb/examples/python/x86_64_qemu_target_definition.py index 7b246896d8b..5b4ea480ccf 100644 --- a/lldb/examples/python/x86_64_qemu_target_definition.py +++ b/lldb/examples/python/x86_64_qemu_target_definition.py @@ -13,13 +13,13 @@ # # 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 +# 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. +# 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 +# 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 remote stub # to change and add new registers without requiring a new LLDB build @@ -27,13 +27,13 @@ # # This file implements the x86_64 registers for the user mode qemu on linux. # The only difference with the Linux file is the absense of orig_rax register. -# +# # USAGE # # (lldb) settings set plugin.process.gdb-remote.target-definition-file /path/to/x86_64_qemu_target_definition.py # (lldb) gdb-remote other.baz.com:1234 # -# The target definition file will get used if and only if the +# The target definition file will get used if and only if the # qRegisterInfo packets are not supported when connecting to a remote # GDB stub. #---------------------------------------------------------------------- @@ -41,312 +41,733 @@ 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 -}; + '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 -}; + '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 -}; + '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): +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 }, -# 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]' }, -]; + {'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}, + # 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 (): + +def get_target_definition(): global g_target_definition - if g_target_definition == None: + 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 + + # 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 + 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 + + # 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 + # 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['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[ + '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() |