<div dir="ltr">Sorry, this is the attachment.</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-19 15:08 GMT+08:00 杨勇勇 <span dir="ltr"><<a href="mailto:triple.yang@gmail.com" target="_blank">triple.yang@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank you.<div><br></div><div>Here is an example and the attchment contains extra files including object file and executable file.</div>
<div>I want to print for example the value of "a", but lldb command "frame variable a" displays "0" and so does "b", and "c".</div>
<div>Meanwhile, the value is correct if I directly check registers or memory.</div><div><br></div><div>Following content is composed of three part:</div><div>1. C program.</div><div>2. assembly file including directives of dwarf debug info.</div>
<div>3. dwarf debug info dumpped from executable file with llvm-dwarfdump.</div><div><br></div><div>///////////////////////////////////////////////////////////////////////////////////////////</div><div>// C</div><div><div>
int</div><div>main(int argc, char *argv[])</div><div>{</div><div> int a = 11;</div><div> int b = 22;</div><div> int c = a+b;</div><div> return c;</div><div>}</div></div><div><br></div><div>######################################</div>
<div># asm including dwarf debugging info</div><div><div><span style="white-space:pre-wrap"> </span>.file<span style="white-space:pre-wrap"> </span>"test.c"</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_info,"",@progbits</div>
<div>Lsection_info:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_abbrev,"",@progbits</div><div>Lsection_abbrev:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_aranges,"",@progbits</div>
<div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_macinfo,"",@progbits</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_line,"",@progbits</div>
<div>Lsection_line:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_loc,"",@progbits</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_pubtypes,"",@progbits</div>
<div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_str,"MS",@progbits,1</div><div>Linfo_string:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_ranges,"",@progbits</div>
<div>Ldebug_range:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_loc,"",@progbits</div><div>Lsection_debug_loc:</div><div><span style="white-space:pre-wrap"> </span>.text</div>
<div>Ltext_begin:</div><div><span style="white-space:pre-wrap"> </span>.data</div><div><span style="white-space:pre-wrap"> </span>.file<span style="white-space:pre-wrap"> </span>1 "test.c"</div><div>
<span style="white-space:pre-wrap"> </span>.text</div><div><span style="white-space:pre-wrap"> </span>.global<span style="white-space:pre-wrap"> </span>main</div><div><span style="white-space:pre-wrap"> </span>.type<span style="white-space:pre-wrap"> </span>main,@function</div>
<div>main: # @main</div><div>Lfunc_begin0:</div><div><span style="white-space:pre-wrap"> </span>.loc<span style="white-space:pre-wrap"> </span>1 3 0 # test.c:3:0</div>
<div># BB#0: # %entry</div><div><span style="white-space:pre-wrap"> </span>.loc<span style="white-space:pre-wrap"> </span>1 2 0 prologue_end # test.c:2:0</div><div><span style="white-space:pre-wrap"> </span>[SP + -4] = FP;;</div>
<div><span style="white-space:pre-wrap"> </span>[SP + -8] = J30;;</div><div><span style="white-space:pre-wrap"> </span>FP = SP;;</div><div><span style="white-space:pre-wrap"> </span>J31 = -40;;</div><div><span style="white-space:pre-wrap"> </span>SP = SP + J31;;</div>
<div><span style="white-space:pre-wrap"> </span>#DEBUG_VALUE: main:argc <- undef</div><div><span style="white-space:pre-wrap"> </span>#DEBUG_VALUE: main:argv <- undef</div><div><span style="white-space:pre-wrap"> </span>R2 = 0;;</div>
<div><span style="white-space:pre-wrap"> </span>R3 = 11;;</div><div><span style="white-space:pre-wrap"> </span>[FP + -12] = R2;;</div><div><span style="white-space:pre-wrap"> </span>[FP + -16] = R0;;</div><div>
<span style="white-space:pre-wrap"> </span>[FP + -20] = R1;;</div><div><span style="white-space:pre-wrap"> </span>.loc<span style="white-space:pre-wrap"> </span>1 4 0 # test.c:4:0</div><div><span style="white-space:pre-wrap"> </span>[FP + -24] = R3;;</div>
<div><span style="white-space:pre-wrap"> </span>R2 = 22;;</div><div><span style="white-space:pre-wrap"> </span>.loc<span style="white-space:pre-wrap"> </span>1 5 0 # test.c:5:0</div><div><span style="white-space:pre-wrap"> </span>[FP + -28] = R2;;</div>
<div><span style="white-space:pre-wrap"> </span>.loc<span style="white-space:pre-wrap"> </span>1 6 0 # test.c:6:0</div><div><span style="white-space:pre-wrap"> </span>R3 = [FP + -24];;</div><div>
<span style="white-space:pre-wrap"> </span>R2 = R3 + R2 (T);;</div><div><span style="white-space:pre-wrap"> </span>[FP + -32] = R2;;</div><div><span style="white-space:pre-wrap"> </span>.loc<span style="white-space:pre-wrap"> </span>1 7 0 # test.c:7:0</div>
<div><span style="white-space:pre-wrap"> </span>[FP + -36] = R0;;</div><div><span style="white-space:pre-wrap"> </span>R0 = R2;;</div><div><span style="white-space:pre-wrap"> </span>[FP + -40] = R1;;</div><div>
<span style="white-space:pre-wrap"> </span>SP = FP;;</div><div><span style="white-space:pre-wrap"> </span>J30 = [SP + -8];;</div><div><span style="white-space:pre-wrap"> </span>FP = [SP + -4];;</div><div><span style="white-space:pre-wrap"> </span>jump J30;;</div>
<div>Ltmp0:</div><div>Ltmp1:</div><div><span style="white-space:pre-wrap"> </span>.size<span style="white-space:pre-wrap"> </span>main, Ltmp1-main</div><div>Lfunc_end0:</div><div><br></div><div>Ltext_end:</div><div>
<span style="white-space:pre-wrap"> </span>.data</div><div>Ldata_end:</div><div><span style="white-space:pre-wrap"> </span>.text</div><div>Lsection_end1:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_info,"",@progbits</div>
<div>L.debug_info_begin0:</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>148 # Length of Compilation Unit Info</div><div><span style="white-space:pre-wrap"> </span>.short<span style="white-space:pre-wrap"> </span>2 # DWARF version number</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>L.debug_abbrev_begin # Offset Into Abbrev. Section</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # Address Size (in bytes)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # Abbrev [1] 0xb:0x8d DW_TAG_compile_unit</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string0 # DW_AT_producer</div>
<div><span style="white-space:pre-wrap"> </span>.short<span style="white-space:pre-wrap"> </span>12 # DW_AT_language</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string1 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>0 # DW_AT_low_pc</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Lsection_line # DW_AT_stmt_list</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string2 # DW_AT_comp_dir</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # Abbrev [2] 0x22:0x5d DW_TAG_subprogram</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string3 # DW_AT_name</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_decl_file</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_decl_line</div><div> # DW_AT_prototyped</div><div>
<span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>127 # DW_AT_type</div><div> # DW_AT_external</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Lfunc_begin0 # DW_AT_low_pc</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Lfunc_end0 # DW_AT_high_pc</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_frame_base</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>144</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>60</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # Abbrev [3] 0x38:0xe DW_TAG_formal_parameter</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string5 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_decl_file</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>127 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>145</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>24</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # Abbrev [3] 0x46:0xe DW_TAG_formal_parameter</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string6 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_decl_file</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>146 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>145</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>20</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # Abbrev [4] 0x54:0xe DW_TAG_variable</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string8 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_decl_file</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>127 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>145</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>16</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # Abbrev [4] 0x62:0xe DW_TAG_variable</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string9 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_decl_file</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>127 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>145</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>12</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # Abbrev [4] 0x70:0xe DW_TAG_variable</div><div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string10 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_decl_file</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>6 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>127 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>145</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>8</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # End Of Children Mark</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # Abbrev [5] 0x7f:0x7 DW_TAG_base_type</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string4 # DW_AT_name</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # DW_AT_encoding</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # DW_AT_byte_size</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # Abbrev [5] 0x86:0x7 DW_TAG_base_type</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>Linfo_string7 # DW_AT_name</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>6 # DW_AT_encoding</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_AT_byte_size</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>6 # Abbrev [6] 0x8d:0x5 DW_TAG_pointer_type</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>134 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>6 # Abbrev [6] 0x92:0x5 DW_TAG_pointer_type</div>
<div><span style="white-space:pre-wrap"> </span>.int<span style="white-space:pre-wrap"> </span>141 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # End Of Children Mark</div>
<div>L.debug_info_end0:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_abbrev,"",@progbits</div><div>L.debug_abbrev_begin:</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # Abbreviation Code</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>17 # DW_TAG_compile_unit</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_CHILDREN_yes</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>37 # DW_AT_producer</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>19 # DW_AT_language</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # DW_FORM_data2</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # DW_AT_name</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>17 # DW_AT_low_pc</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_FORM_addr</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>16 # DW_AT_stmt_list</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>6 # DW_FORM_data4</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>27 # DW_AT_comp_dir</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(1)</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(2)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # Abbreviation Code</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>46 # DW_TAG_subprogram</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_CHILDREN_yes</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>58 # DW_AT_decl_file</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>59 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>39 # DW_AT_prototyped</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>25 # DW_FORM_flag_present</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>73 # DW_AT_type</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>19 # DW_FORM_ref4</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>63 # DW_AT_external</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>25 # DW_FORM_flag_present</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>17 # DW_AT_low_pc</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_FORM_addr</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>18 # DW_AT_high_pc</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>1 # DW_FORM_addr</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>64 # DW_AT_frame_base</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>10 # DW_FORM_block1</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(1)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(2)</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # Abbreviation Code</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # DW_TAG_formal_parameter</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # DW_CHILDREN_no</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # DW_AT_name</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>58 # DW_AT_decl_file</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>59 # DW_AT_decl_line</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>73 # DW_AT_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>19 # DW_FORM_ref4</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>10 # DW_FORM_block1</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(1)</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(2)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>4 # Abbreviation Code</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>52 # DW_TAG_variable</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # DW_CHILDREN_no</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # DW_AT_name</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>58 # DW_AT_decl_file</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>59 # DW_AT_decl_line</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>73 # DW_AT_type</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>19 # DW_FORM_ref4</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>2 # DW_AT_location</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>10 # DW_FORM_block1</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(1)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(2)</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>5 # Abbreviation Code</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>36 # DW_TAG_base_type</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # DW_CHILDREN_no</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>3 # DW_AT_name</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>14 # DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>62 # DW_AT_encoding</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_AT_byte_size</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>11 # DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(1)</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(2)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>6 # Abbreviation Code</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>15 # DW_TAG_pointer_type</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # DW_CHILDREN_no</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>73 # DW_AT_type</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>19 # DW_FORM_ref4</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(1)</div>
<div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(2)</div><div><span style="white-space:pre-wrap"> </span>.byte<span style="white-space:pre-wrap"> </span>0 # EOM(3)</div>
<div>L.debug_abbrev_end:</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_aranges,"",@progbits</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_ranges,"",@progbits</div>
<div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_macinfo,"",@progbits</div><div><span style="white-space:pre-wrap"> </span>.section<span style="white-space:pre-wrap"> </span>.debug_str,"MS",@progbits,1</div>
<div>Linfo_string0:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "clang version 3.3 (/opt/git.repo/clang.git/ b422d20530588813b09057b45d5b383f0b175ced) (/opt/git.repo/llvm.git/ 57b428f0a6be7b81bc364b0088992b1f820b516e)"</div>
<div>Linfo_string1:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "test.c"</div><div>Linfo_string2:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "/home/yangyy/workspace/newlib"</div>
<div>Linfo_string3:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "main"</div><div>Linfo_string4:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "int"</div>
<div>Linfo_string5:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "argc"</div><div>Linfo_string6:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "argv"</div>
<div>Linfo_string7:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "char"</div><div>Linfo_string8:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "a"</div>
<div>Linfo_string9:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "b"</div><div>Linfo_string10:</div><div><span style="white-space:pre-wrap"> </span>.asciz<span style="white-space:pre-wrap"> </span> "c"</div>
<div><br></div></div><div>#########################################</div><div># dwarf debug info dumpped from its executable file with llvm-dwarfdump</div><div><div>mspu.out:<span style="white-space:pre-wrap"> </span>file format ELF32-mspu</div>
<div><br></div><div>.debug_abbrev contents:</div><div>Abbrev table for offset: 0x00000000</div><div>[1] DW_TAG_compile_unit<span style="white-space:pre-wrap"> </span>DW_CHILDREN_yes</div><div><span style="white-space:pre-wrap"> </span>DW_AT_producer<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_language<span style="white-space:pre-wrap"> </span>DW_FORM_data2</div><div><span style="white-space:pre-wrap"> </span>DW_AT_name<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_low_pc<span style="white-space:pre-wrap"> </span>DW_FORM_addr</div><div><span style="white-space:pre-wrap"> </span>DW_AT_stmt_list<span style="white-space:pre-wrap"> </span>DW_FORM_data4</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_comp_dir<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div><div><br></div><div>[2] DW_TAG_subprogram<span style="white-space:pre-wrap"> </span>DW_CHILDREN_yes</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_name<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div><div><span style="white-space:pre-wrap"> </span>DW_AT_decl_file<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_decl_line<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>DW_AT_prototyped<span style="white-space:pre-wrap"> </span>DW_FORM_flag_present</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_type<span style="white-space:pre-wrap"> </span>DW_FORM_ref4</div><div><span style="white-space:pre-wrap"> </span>DW_AT_external<span style="white-space:pre-wrap"> </span>DW_FORM_flag_present</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_low_pc<span style="white-space:pre-wrap"> </span>DW_FORM_addr</div><div><span style="white-space:pre-wrap"> </span>DW_AT_high_pc<span style="white-space:pre-wrap"> </span>DW_FORM_addr</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_frame_base<span style="white-space:pre-wrap"> </span>DW_FORM_block1</div><div><br></div><div>[3] DW_TAG_formal_parameter<span style="white-space:pre-wrap"> </span>DW_CHILDREN_no</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_name<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div><div><span style="white-space:pre-wrap"> </span>DW_AT_decl_file<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_decl_line<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>DW_AT_type<span style="white-space:pre-wrap"> </span>DW_FORM_ref4</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_location<span style="white-space:pre-wrap"> </span>DW_FORM_block1</div><div><br></div><div>[4] DW_TAG_variable<span style="white-space:pre-wrap"> </span>DW_CHILDREN_no</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_name<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div><div><span style="white-space:pre-wrap"> </span>DW_AT_decl_file<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_decl_line<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div><div><span style="white-space:pre-wrap"> </span>DW_AT_type<span style="white-space:pre-wrap"> </span>DW_FORM_ref4</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_location<span style="white-space:pre-wrap"> </span>DW_FORM_block1</div><div><br></div><div>[5] DW_TAG_base_type<span style="white-space:pre-wrap"> </span>DW_CHILDREN_no</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_name<span style="white-space:pre-wrap"> </span>DW_FORM_strp</div><div><span style="white-space:pre-wrap"> </span>DW_AT_encoding<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_byte_size<span style="white-space:pre-wrap"> </span>DW_FORM_data1</div><div><br></div><div>[6] DW_TAG_pointer_type<span style="white-space:pre-wrap"> </span>DW_CHILDREN_no</div>
<div><span style="white-space:pre-wrap"> </span>DW_AT_type<span style="white-space:pre-wrap"> </span>DW_FORM_ref4</div><div><br></div><div><br></div><div>.debug_info contents:</div><div>0x00000000: Compile Unit: length = 0x00000094 version = 0x0002 abbr_offset = 0x0000 addr_size = 0x04 (next CU at 0x00000098)</div>
<div><br></div><div>0x0000000b: DW_TAG_compile_unit [1] *</div><div>0x0000000c: DW_AT_producer [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x00000000] = "clang version 3.3 (/opt/git.repo/clang.git/ b422d20530588813b09057b45d5b383f0b175ced) (/opt/git.repo/llvm.git/ 57b428f0a6be7b81bc364b0088992b1f820b516e)")</div>
<div>0x00000010: DW_AT_language [DW_FORM_data2]<span style="white-space:pre-wrap"> </span>(0x000c)</div><div>0x00000012: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x00000099] = "test.c")</div>
<div>0x00000016: DW_AT_low_pc [DW_FORM_addr]<span style="white-space:pre-wrap"> </span>(0x0000000000000000)</div><div>0x0000001a: DW_AT_stmt_list [DW_FORM_data4]<span style="white-space:pre-wrap"> </span>(0x00000000)</div>
<div>0x0000001e: DW_AT_comp_dir [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000a0] = "/home/yangyy/workspace/newlib")</div><div><br></div><div>0x00000022: DW_TAG_subprogram [2] *</div>
<div>0x00000023: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000be] = "main")</div><div>0x00000027: DW_AT_decl_file [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div>
<div>0x00000028: DW_AT_decl_line [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x02)</div><div>0x00000029: DW_AT_prototyped [DW_FORM_flag_present]<span style="white-space:pre-wrap"> </span>(true)</div>
<div>0x00000029: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x007f => {0x0000007f})</div><div>0x0000002d: DW_AT_external [DW_FORM_flag_present]<span style="white-space:pre-wrap"> </span>(true)</div>
<div>0x0000002d: DW_AT_low_pc [DW_FORM_addr]<span style="white-space:pre-wrap"> </span>(0x0000000000000028)</div><div>0x00000031: DW_AT_high_pc [DW_FORM_addr]<span style="white-space:pre-wrap"> </span>(0x0000000000000084)</div>
<div>0x00000035: DW_AT_frame_base [DW_FORM_block1]<span style="white-space:pre-wrap"> </span>(<0x02> 90 3c )</div><div><br></div><div>0x00000038: DW_TAG_formal_parameter [3] </div><div>0x00000039: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000c7] = "argc")</div>
<div>0x0000003d: DW_AT_decl_file [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div><div>0x0000003e: DW_AT_decl_line [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x02)</div>
<div>0x0000003f: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x007f => {0x0000007f})</div><div>0x00000043: DW_AT_location [DW_FORM_block1]<span style="white-space:pre-wrap"> </span>(<0x02> 91 18 )</div>
<div><br></div><div>0x00000046: DW_TAG_formal_parameter [3] </div><div>0x00000047: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000cc] = "argv")</div><div>
0x0000004b: DW_AT_decl_file [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div><div>0x0000004c: DW_AT_decl_line [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x02)</div>
<div>0x0000004d: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x0092 => {0x00000092})</div><div>0x00000051: DW_AT_location [DW_FORM_block1]<span style="white-space:pre-wrap"> </span>(<0x02> 91 14 )</div>
<div><br></div><div>0x00000054: DW_TAG_variable [4] </div><div>0x00000055: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000d6] = "a")</div><div>0x00000059: DW_AT_decl_file [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div>
<div>0x0000005a: DW_AT_decl_line [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x04)</div><div>0x0000005b: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x007f => {0x0000007f})</div>
<div>0x0000005f: DW_AT_location [DW_FORM_block1]<span style="white-space:pre-wrap"> </span>(<0x02> 91 10 )</div><div><br></div><div>0x00000062: DW_TAG_variable [4] </div><div>0x00000063: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000d8] = "b")</div>
<div>0x00000067: DW_AT_decl_file [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div><div>0x00000068: DW_AT_decl_line [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x05)</div>
<div>0x00000069: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x007f => {0x0000007f})</div><div>0x0000006d: DW_AT_location [DW_FORM_block1]<span style="white-space:pre-wrap"> </span>(<0x02> 91 0c )</div>
<div><br></div><div>0x00000070: DW_TAG_variable [4] </div><div>0x00000071: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000da] = "c")</div><div>0x00000075: DW_AT_decl_file [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div>
<div>0x00000076: DW_AT_decl_line [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x06)</div><div>0x00000077: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x007f => {0x0000007f})</div>
<div>0x0000007b: DW_AT_location [DW_FORM_block1]<span style="white-space:pre-wrap"> </span>(<0x02> 91 08 )</div><div><br></div><div>0x0000007e: NULL</div><div><br></div><div>0x0000007f: DW_TAG_base_type [5] </div>
<div>0x00000080: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000c3] = "int")</div><div>0x00000084: DW_AT_encoding [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x05)</div>
<div>0x00000085: DW_AT_byte_size [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x04)</div><div><br></div><div>0x00000086: DW_TAG_base_type [5] </div><div>0x00000087: DW_AT_name [DW_FORM_strp]<span style="white-space:pre-wrap"> </span>( .debug_str[0x000000d1] = "char")</div>
<div>0x0000008b: DW_AT_encoding [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x06)</div><div>0x0000008c: DW_AT_byte_size [DW_FORM_data1]<span style="white-space:pre-wrap"> </span>(0x01)</div>
<div><br></div><div>0x0000008d: DW_TAG_pointer_type [6] </div><div>0x0000008e: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x0086 => {0x00000086})</div><div><br></div><div>0x00000092: DW_TAG_pointer_type [6] </div>
<div>0x00000093: DW_AT_type [DW_FORM_ref4]<span style="white-space:pre-wrap"> </span>(cu + 0x008d => {0x0000008d})</div><div><br></div><div>0x00000097: NULL</div><div><br></div><div>.debug_frame contents:</div>
<div><br></div><div><br></div><div>.debug_aranges contents:</div><div><br></div><div>.debug_line contents:</div><div>Line table prologue:</div><div> total_length: 0x00000037</div><div> version: 2</div><div>prologue_length: 0x0000001d</div>
<div>min_inst_length: 1</div><div>default_is_stmt: 1</div><div> line_base: -5</div><div> line_range: 14</div><div> opcode_base: 13</div><div>standard_opcode_lengths[DW_LNS_copy] = 0</div><div>standard_opcode_lengths[DW_LNS_advance_pc] = 1</div>
<div>standard_opcode_lengths[DW_LNS_advance_line] = 1</div><div>standard_opcode_lengths[DW_LNS_set_file] = 1</div><div>standard_opcode_lengths[DW_LNS_set_column] = 1</div><div>standard_opcode_lengths[DW_LNS_negate_stmt] = 0</div>
<div>standard_opcode_lengths[DW_LNS_set_basic_block] = 0</div><div>standard_opcode_lengths[DW_LNS_const_add_pc] = 0</div><div>standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1</div><div>standard_opcode_lengths[DW_LNS_set_prologue_end] = 0</div>
<div>standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0</div><div>standard_opcode_lengths[DW_LNS_set_isa] = 1</div><div> Dir Mod Time File Len File Name</div><div> ---- ---------- ---------- ---------------------------</div>
<div>file_names[ 1] 0 0x00000000 0x00000000 test.c</div><div><br></div><div>Address Line Column File ISA Flags</div><div>------------------ ------ ------ ------ --- -------------</div><div>0x0000000000000028 2 0 1 0 is_stmt prologue_end</div>
<div>0x0000000000000050 4 0 1 0 is_stmt</div><div>0x0000000000000058 5 0 1 0 is_stmt</div><div>0x000000000000005c 6 0 1 0 is_stmt</div><div>0x0000000000000068 7 0 1 0 is_stmt</div>
<div>0x0000000000000084 7 0 1 0 is_stmt end_sequence</div><div><br></div><div>.debug_str contents:</div><div>0x00000000: "clang version 3.3 (/opt/git.repo/clang.git/ b422d20530588813b09057b45d5b383f0b175ced) (/opt/git.repo/llvm.git/ 57b428f0a6be7b81bc364b0088992b1f820b516e)"</div>
<div>0x00000099: "test.c"</div><div>0x000000a0: "/home/yangyy/workspace/newlib"</div><div>0x000000be: "main"</div><div>0x000000c3: "int"</div><div>0x000000c7: "argc"</div>
<div>0x000000cc: "argv"</div><div>0x000000d1: "char"</div><div>0x000000d6: "a"</div><div>0x000000d8: "b"</div><div>0x000000da: "c"</div><div><br></div><div>.debug_ranges contents:</div>
<div><br></div><div>.debug_pubnames contents:</div><div>Length: 0</div><div>Version: 0</div><div>Offset in .debug_info: 0</div><div>Size: 0</div><div><br></div><div> Offset Name</div>
<div><br></div><div>.debug_abbrev.dwo contents:</div><div>< EMPTY ></div></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-19 2:28 GMT+08:00 Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span>:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">All of this information is contained in the DWARF debug info that you must generate. Are you generating DWARF? If not, you will need to. If so, please attach an example program that contains DWARF and specify which function you are having trouble getting variable information for.<br>
<br>
Greg Clayton<br>
<div><div><br>
On Feb 18, 2014, at 12:44 AM, 杨勇勇 <<a href="mailto:triple.yang@gmail.com" target="_blank">triple.yang@gmail.com</a>> wrote:<br>
<br>
> Hi, all<br>
><br>
> I ported llvm backend and lldb recently. Both tools can basically work.<br>
> lldb is able to debug programs in asm style and frame unwinding is OK.<br>
><br>
> But "frame variable XX" does not work because lldb is not able to determine the address of<br>
> XX from debug info.<br>
><br>
> Can someone give any clue?<br>
> Thanks in advance.<br>
><br>
> --<br>
> 杨勇勇 (Yang Yong-Yong)<br>
</div></div>> _______________________________________________<br>
> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br>
</blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>杨勇勇 (Yang Yong-Yong)
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>杨勇勇 (Yang Yong-Yong)
</div>