On Feb 20, 2014, at 1:28 AM, 杨勇勇 <[email protected]> wrote:
> Thank you, Clayton. This is very helpful.
>
> We use the LLDB specific GDB remote extensions, and our debugger server
> supports "qRegisterInfo" package. "reg 0x3c" is the frame pointer.
>
> In the example mentioned above, we have SP = FP - 40 for current call frame.
> And variable "a" is stored at address (FP + -24) from asm instruction [FP +
> -24] = R3;;
> Thus we can conclude that SP + 16 = FP - 40 + 16 = FP -24 is the desired
> address. Here "16" is the offset obtained from debug info.
>
> So I guess there is something incompatible between our compiler backend and
> debug info generator.
> Here is my questions:
> 1. How can we specify which register should be DW_AT_frame_base?
You don't need to, there is a DWARF location expression in the DW_AT_frame_base
attribute attached to the function:
DW_AT_frame_base( regx 0x0000003c )
This means:
DW_OP_regx(0x0000003c)
Or that the frame base is in register 0x3c. Now qRegisterInfo packets you send
back to LLDB must include "DWARF" register numbers. Sometimes the register
numbers the compiler uses for EH frame (from the .eh_frame section) differ from
the register numbers used in DWARF (any register numbers in .debug_frame,
.debug_info, .debug_loc, and more). So you need to explicitly specify these
numbers:
At the end of this email is a complete version of the qRegisterInfo packets and
responses for x86_64. Be sure to check the gcc:<regnum> (compiler register
numbering for EH frame), dwarf:<regnum> (for DWARF mappings, but no all
registers get DWARF register numbers because some will never contain variable
values), and also look for the "generic" key value pairs like "generic:arg1;"
for the first argument to functions as the ABI, and "generic:pc;" for the
program counter. If you think you are specifying these all correctly, please
attach the output of running your program after doing a:
(lldb) log enable gdb-remote packets
(lldb) gdb-remote ...
Then I might be able to spot something wrong in the register definitions.
. How can we adjust the offset in DW_AT_location for variables?
You don't need to, each variable already has the needed offset from the frame
base and you DWARF looks good. Once you get your register info worked out, your
variables should display just fine.
x86_64-apple-macosx qRegisterInfo packet log:
$qRegisterInfo0#72
$name:rax;bitsize:64;offset:0;encoding:uint;format:hex;set:General Purpose
Registers;gcc:0;dwarf:0;invalidate-regs:0,15,25,35,39;#00
$qRegisterInfo1#73
$name:rbx;bitsize:64;offset:8;encoding:uint;format:hex;set:General Purpose
Registers;gcc:3;dwarf:3;invalidate-regs:1,16,26,36,3a;#00
$qRegisterInfo2#74
$name:rcx;alt-name:arg4;bitsize:64;offset:16;encoding:uint;format:hex;set:General
Purpose Registers;gcc:2;dwarf:2;generic:arg4;invalidate-regs:2,17,27,37,3b;#00
$qRegisterInfo3#75
$name:rdx;alt-name:arg3;bitsize:64;offset:24;encoding:uint;format:hex;set:General
Purpose Registers;gcc:1;dwarf:1;generic:arg3;invalidate-regs:3,18,28,38,3c;#00
$qRegisterInfo4#76
$name:rdi;alt-name:arg1;bitsize:64;offset:32;encoding:uint;format:hex;set:General
Purpose Registers;gcc:5;dwarf:5;generic:arg1;invalidate-regs:4,19,29,3d;#00
$qRegisterInfo5#77
$name:rsi;alt-name:arg2;bitsize:64;offset:40;encoding:uint;format:hex;set:General
Purpose Registers;gcc:4;dwarf:4;generic:arg2;invalidate-regs:5,1a,2a,3e;#00
$qRegisterInfo6#78
$name:rbp;alt-name:fp;bitsize:64;offset:48;encoding:uint;format:hex;set:General
Purpose Registers;gcc:6;dwarf:6;generic:fp;invalidate-regs:6,1b,2b,3f;#00
$qRegisterInfo7#79
$name:rsp;alt-name:sp;bitsize:64;offset:56;encoding:uint;format:hex;set:General
Purpose Registers;gcc:7;dwarf:7;generic:sp;invalidate-regs:7,1c,2c,40;#00
$qRegisterInfo8#7a
$name:r8;alt-name:arg5;bitsize:64;offset:64;encoding:uint;format:hex;set:General
Purpose Registers;gcc:8;dwarf:8;generic:arg5;invalidate-regs:8,1d,2d,41;#00
$qRegisterInfo9#7b
$name:r9;alt-name:arg6;bitsize:64;offset:72;encoding:uint;format:hex;set:General
Purpose Registers;gcc:9;dwarf:9;generic:arg6;invalidate-regs:9,1e,2e,42;#00
$qRegisterInfoa#a3
$name:r10;bitsize:64;offset:80;encoding:uint;format:hex;set:General Purpose
Registers;gcc:10;dwarf:10;invalidate-regs:a,1f,2f,43;#00
$qRegisterInfob#a4
$name:r11;bitsize:64;offset:88;encoding:uint;format:hex;set:General Purpose
Registers;gcc:11;dwarf:11;invalidate-regs:b,20,30,44;#00
$qRegisterInfoc#a5
$name:r12;bitsize:64;offset:96;encoding:uint;format:hex;set:General Purpose
Registers;gcc:12;dwarf:12;invalidate-regs:c,21,31,45;#00
$qRegisterInfod#a6
$name:r13;bitsize:64;offset:104;encoding:uint;format:hex;set:General Purpose
Registers;gcc:13;dwarf:13;invalidate-regs:d,22,32,46;#00
$qRegisterInfoe#a7
$name:r14;bitsize:64;offset:112;encoding:uint;format:hex;set:General Purpose
Registers;gcc:14;dwarf:14;invalidate-regs:e,23,33,47;#00
$qRegisterInfof#a8
$name:r15;bitsize:64;offset:120;encoding:uint;format:hex;set:General Purpose
Registers;gcc:15;dwarf:15;invalidate-regs:f,24,34,48;#00
$qRegisterInfo10#a3
$name:rip;alt-name:pc;bitsize:64;offset:128;encoding:uint;format:hex;set:General
Purpose Registers;gcc:16;dwarf:16;generic:pc;#00
$qRegisterInfo11#a4
$name:rflags;alt-name:flags;bitsize:64;offset:136;encoding:uint;format:hex;set:General
Purpose Registers;generic:flags;#00
$qRegisterInfo12#a5
$name:cs;bitsize:64;offset:144;encoding:uint;format:hex;set:General Purpose
Registers;#00
$qRegisterInfo13#a6
$name:fs;bitsize:64;offset:152;encoding:uint;format:hex;set:General Purpose
Registers;#00
$qRegisterInfo14#a7
$name:gs;bitsize:64;offset:160;encoding:uint;format:hex;set:General Purpose
Registers;#00
$qRegisterInfo15#a8
$name:eax;bitsize:32;offset:0;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:0;invalidate-regs:0,15,25,35,39;#00
$qRegisterInfo16#a9
$name:ebx;bitsize:32;offset:8;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:1;invalidate-regs:1,16,26,36,3a;#00
$qRegisterInfo17#aa
$name:ecx;bitsize:32;offset:16;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:2;invalidate-regs:2,17,27,37,3b;#00
$qRegisterInfo18#ab
$name:edx;bitsize:32;offset:24;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:3;invalidate-regs:3,18,28,38,3c;#00
$qRegisterInfo19#ac
$name:edi;bitsize:32;offset:32;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:4;invalidate-regs:4,19,29,3d;#00
$qRegisterInfo1a#d4
$name:esi;bitsize:32;offset:40;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:5;invalidate-regs:5,1a,2a,3e;#00
$qRegisterInfo1b#d5
$name:ebp;bitsize:32;offset:48;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:6;invalidate-regs:6,1b,2b,3f;#00
$qRegisterInfo1c#d6
$name:esp;bitsize:32;offset:56;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:7;invalidate-regs:7,1c,2c,40;#00
$qRegisterInfo1d#d7
$name:r8d;bitsize:32;offset:64;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:8;invalidate-regs:8,1d,2d,41;#00
$qRegisterInfo1e#d8
$name:r9d;bitsize:32;offset:72;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:9;invalidate-regs:9,1e,2e,42;#00
$qRegisterInfo1f#d9
$name:r10d;bitsize:32;offset:80;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:a;invalidate-regs:a,1f,2f,43;#00
$qRegisterInfo20#a4
$name:r11d;bitsize:32;offset:88;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:b;invalidate-regs:b,20,30,44;#00
$qRegisterInfo21#a5
$name:r12d;bitsize:32;offset:96;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:c;invalidate-regs:c,21,31,45;#00
$qRegisterInfo22#a6
$name:r13d;bitsize:32;offset:104;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:d;invalidate-regs:d,22,32,46;#00
$qRegisterInfo23#a7
$name:r14d;bitsize:32;offset:112;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:e;invalidate-regs:e,23,33,47;#00
$qRegisterInfo24#a8
$name:r15d;bitsize:32;offset:120;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:f;invalidate-regs:f,24,34,48;#00
$qRegisterInfo25#a9
$name:ax;bitsize:16;offset:0;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:0;invalidate-regs:0,15,25,35,39;#00
$qRegisterInfo26#aa
$name:bx;bitsize:16;offset:8;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:1;invalidate-regs:1,16,26,36,3a;#00
$qRegisterInfo27#ab
$name:cx;bitsize:16;offset:16;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:2;invalidate-regs:2,17,27,37,3b;#00
$qRegisterInfo28#ac
$name:dx;bitsize:16;offset:24;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:3;invalidate-regs:3,18,28,38,3c;#00
$qRegisterInfo29#ad
$name:di;bitsize:16;offset:32;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:4;invalidate-regs:4,19,29,3d;#00
$qRegisterInfo2a#d5
$name:si;bitsize:16;offset:40;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:5;invalidate-regs:5,1a,2a,3e;#00
$qRegisterInfo2b#d6
$name:bp;bitsize:16;offset:48;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:6;invalidate-regs:6,1b,2b,3f;#00
$qRegisterInfo2c#d7
$name:sp;bitsize:16;offset:56;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:7;invalidate-regs:7,1c,2c,40;#00
$qRegisterInfo2d#d8
$name:r8w;bitsize:16;offset:64;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:8;invalidate-regs:8,1d,2d,41;#00
$qRegisterInfo2e#d9
$name:r9w;bitsize:16;offset:72;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:9;invalidate-regs:9,1e,2e,42;#00
$qRegisterInfo2f#da
$name:r10w;bitsize:16;offset:80;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:a;invalidate-regs:a,1f,2f,43;#00
$qRegisterInfo30#a5
$name:r11w;bitsize:16;offset:88;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:b;invalidate-regs:b,20,30,44;#00
$qRegisterInfo31#a6
$name:r12w;bitsize:16;offset:96;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:c;invalidate-regs:c,21,31,45;#00
$qRegisterInfo32#a7
$name:r13w;bitsize:16;offset:104;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:d;invalidate-regs:d,22,32,46;#00
$qRegisterInfo33#a8
$name:r14w;bitsize:16;offset:112;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:e;invalidate-regs:e,23,33,47;#00
$qRegisterInfo34#a9
$name:r15w;bitsize:16;offset:120;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:f;invalidate-regs:f,24,34,48;#00
$qRegisterInfo35#aa
$name:ah;bitsize:8;offset:1;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:0;invalidate-regs:0,15,25,35,39;#00
$qRegisterInfo36#ab
$name:bh;bitsize:8;offset:9;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:1;invalidate-regs:1,16,26,36,3a;#00
$qRegisterInfo37#ac
$name:ch;bitsize:8;offset:17;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:2;invalidate-regs:2,17,27,37,3b;#00
$qRegisterInfo38#ad
$name:dh;bitsize:8;offset:25;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:3;invalidate-regs:3,18,28,38,3c;#00
$qRegisterInfo39#ae
$name:al;bitsize:8;offset:0;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:0;invalidate-regs:0,15,25,35,39;#00
$qRegisterInfo3a#d6
$name:bl;bitsize:8;offset:8;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:1;invalidate-regs:1,16,26,36,3a;#00
$qRegisterInfo3b#d7
$name:cl;bitsize:8;offset:16;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:2;invalidate-regs:2,17,27,37,3b;#00
$qRegisterInfo3c#d8
$name:dl;bitsize:8;offset:24;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:3;invalidate-regs:3,18,28,38,3c;#00
$qRegisterInfo3d#d9
$name:dil;bitsize:8;offset:32;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:4;invalidate-regs:4,19,29,3d;#00
$qRegisterInfo3e#da
$name:sil;bitsize:8;offset:40;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:5;invalidate-regs:5,1a,2a,3e;#00
$qRegisterInfo3f#db
$name:bpl;bitsize:8;offset:48;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:6;invalidate-regs:6,1b,2b,3f;#00
$qRegisterInfo40#a6
$name:spl;bitsize:8;offset:56;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:7;invalidate-regs:7,1c,2c,40;#00
$qRegisterInfo41#a7
$name:r8l;bitsize:8;offset:64;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:8;invalidate-regs:8,1d,2d,41;#00
$qRegisterInfo42#a8
$name:r9l;bitsize:8;offset:72;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:9;invalidate-regs:9,1e,2e,42;#00
$qRegisterInfo43#a9
$name:r10l;bitsize:8;offset:80;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:a;invalidate-regs:a,1f,2f,43;#00
$qRegisterInfo44#aa
$name:r11l;bitsize:8;offset:88;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:b;invalidate-regs:b,20,30,44;#00
$qRegisterInfo45#ab
$name:r12l;bitsize:8;offset:96;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:c;invalidate-regs:c,21,31,45;#00
$qRegisterInfo46#ac
$name:r13l;bitsize:8;offset:104;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:d;invalidate-regs:d,22,32,46;#00
$qRegisterInfo47#ad
$name:r14l;bitsize:8;offset:112;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:e;invalidate-regs:e,23,33,47;#00
$qRegisterInfo48#ae
$name:r15l;bitsize:8;offset:120;encoding:uint;format:hex;set:General Purpose
Registers;container-regs:f;invalidate-regs:f,24,34,48;#00
$qRegisterInfo49#af
$name:fctrl;bitsize:16;offset:168;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo4a#d7
$name:fstat;bitsize:16;offset:170;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo4b#d8
$name:ftag;bitsize:8;offset:172;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo4c#d9
$name:fop;bitsize:16;offset:173;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo4d#da
$name:fioff;bitsize:32;offset:175;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo4e#db
$name:fiseg;bitsize:16;offset:179;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo4f#dc
$name:fooff;bitsize:32;offset:181;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo50#a7
$name:foseg;bitsize:16;offset:185;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo51#a8
$name:mxcsr;bitsize:32;offset:187;encoding:uint;format:hex;set:Floating Point
Registers;#00
$qRegisterInfo52#a9
$name:mxcsrmask;bitsize:32;offset:191;encoding:uint;format:hex;set:Floating
Point Registers;#00
$qRegisterInfo53#aa
$name:stmm0;bitsize:80;offset:195;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:33;dwarf:33;#00
$qRegisterInfo54#ab
$name:stmm1;bitsize:80;offset:205;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:34;dwarf:34;#00
$qRegisterInfo55#ac
$name:stmm2;bitsize:80;offset:215;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:35;dwarf:35;#00
$qRegisterInfo56#ad
$name:stmm3;bitsize:80;offset:225;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:36;dwarf:36;#00
$qRegisterInfo57#ae
$name:stmm4;bitsize:80;offset:235;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:37;dwarf:37;#00
$qRegisterInfo58#af
$name:stmm5;bitsize:80;offset:245;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:38;dwarf:38;#00
$qRegisterInfo59#b0
$name:stmm6;bitsize:80;offset:255;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:39;dwarf:39;#00
$qRegisterInfo5a#d8
$name:stmm7;bitsize:80;offset:265;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:40;dwarf:40;#00
$qRegisterInfo5b#d9
$name:ymm0;bitsize:256;offset:275;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:17;dwarf:17;#00
$qRegisterInfo5c#da
$name:ymm1;bitsize:256;offset:307;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:18;dwarf:18;#00
$qRegisterInfo5d#db
$name:ymm2;bitsize:256;offset:339;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:19;dwarf:19;#00
$qRegisterInfo5e#dc
$name:ymm3;bitsize:256;offset:371;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:20;dwarf:20;#00
$qRegisterInfo5f#dd
$name:ymm4;bitsize:256;offset:403;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:21;dwarf:21;#00
$qRegisterInfo60#a8
$name:ymm5;bitsize:256;offset:435;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:22;dwarf:22;#00
$qRegisterInfo61#a9
$name:ymm6;bitsize:256;offset:467;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:23;dwarf:23;#00
$qRegisterInfo62#aa
$name:ymm7;bitsize:256;offset:499;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:24;dwarf:24;#00
$qRegisterInfo63#ab
$name:ymm8;bitsize:256;offset:531;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:25;dwarf:25;#00
$qRegisterInfo64#ac
$name:ymm9;bitsize:256;offset:563;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:26;dwarf:26;#00
$qRegisterInfo65#ad
$name:ymm10;bitsize:256;offset:595;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:27;dwarf:27;#00
$qRegisterInfo66#ae
$name:ymm11;bitsize:256;offset:627;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:28;dwarf:28;#00
$qRegisterInfo67#af
$name:ymm12;bitsize:256;offset:659;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:29;dwarf:29;#00
$qRegisterInfo68#b0
$name:ymm13;bitsize:256;offset:691;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:30;dwarf:30;#00
$qRegisterInfo69#b1
$name:ymm14;bitsize:256;offset:723;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:31;dwarf:31;#00
$qRegisterInfo6a#d9
$name:ymm15;bitsize:256;offset:755;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:32;dwarf:32;#00
$qRegisterInfo6b#da
$name:xmm0;bitsize:128;offset:275;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:17;dwarf:17;container-regs:5b;#00
$qRegisterInfo6c#db
$name:xmm1;bitsize:128;offset:307;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:18;dwarf:18;container-regs:5c;#00
$qRegisterInfo6d#dc
$name:xmm2;bitsize:128;offset:339;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:19;dwarf:19;container-regs:5d;#00
$qRegisterInfo6e#dd
$name:xmm3;bitsize:128;offset:371;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:20;dwarf:20;container-regs:5e;#00
$qRegisterInfo6f#de
$name:xmm4;bitsize:128;offset:403;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:21;dwarf:21;container-regs:5f;#00
$qRegisterInfo70#a9
$name:xmm5;bitsize:128;offset:435;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:22;dwarf:22;container-regs:60;#00
$qRegisterInfo71#aa
$name:xmm6;bitsize:128;offset:467;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:23;dwarf:23;container-regs:61;#00
$qRegisterInfo72#ab
$name:xmm7;bitsize:128;offset:499;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:24;dwarf:24;container-regs:62;#00
$qRegisterInfo73#ac
$name:xmm8;bitsize:128;offset:531;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:25;dwarf:25;container-regs:63;#00
$qRegisterInfo74#ad
$name:xmm9;bitsize:128;offset:563;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:26;dwarf:26;container-regs:64;#00
$qRegisterInfo75#ae
$name:xmm10;bitsize:128;offset:595;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:27;dwarf:27;container-regs:65;#00
$qRegisterInfo76#af
$name:xmm11;bitsize:128;offset:627;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:28;dwarf:28;container-regs:66;#00
$qRegisterInfo77#b0
$name:xmm12;bitsize:128;offset:659;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:29;dwarf:29;container-regs:67;#00
$qRegisterInfo78#b1
$name:xmm13;bitsize:128;offset:691;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:30;dwarf:30;container-regs:68;#00
$qRegisterInfo79#b2
$name:xmm14;bitsize:128;offset:723;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:31;dwarf:31;container-regs:69;#00
$qRegisterInfo7a#da
$name:xmm15;bitsize:128;offset:755;encoding:vector;format:vector-uint8;set:Floating
Point Registers;gcc:32;dwarf:32;container-regs:6a;#00
$qRegisterInfo7b#db
$name:trapno;bitsize:32;offset:787;encoding:uint;format:hex;set:Exception State
Registers;#00
$qRegisterInfo7c#dc
$name:err;bitsize:32;offset:791;encoding:uint;format:hex;set:Exception State
Registers;#00
$qRegisterInfo7d#dd
$name:faultvaddr;bitsize:64;offset:795;encoding:uint;format:hex;set:Exception
State Registers;#00
$qRegisterInfo7e#de
$E45#00
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev