Problem 1: <br>   I tried llvm-db of LLVM 1.6, in the Linux environment. However, it always prompts the following info for different tests:<br><br>======================================<br>:> llvm-db a.out.bc<br>llvm-db: The LLVM source-level debugger
<br>Loading program... successfully loaded 'a.out.bc'!<br>(llvm-db) run<br>Starting program: a.out.bc<br>Error: Error waiting for the child process to stop.  It exited with status 1<br>======================================
<br><br>I am wondering if llvm-db in 1.6 still works?<br><br><br>Problem 2:<br>I use llvm-gcc -g to compile this C program, and got the followed LLVM code (part). It seems that debug information for some statements are missing, 
i.e., we don't know where the coressponding "+" statement is in the source code, from a "add" instruction in the LLVM code. Can anyone comment on this? Thank you very much.<br><br>======================================
<br>short test(short br_data_0,<br>           short br_data_1,<br>           short br_data_2,<br>           short br_data_3,<br>           short br_data_4,<br>           short br_data_5,<br>           short br_data_6,<br>
           short br_data_7) {<br><br>    short sm07 = br_data_0 + br_data_7; <br>    short sm16 = br_data_1 + br_data_6; <br>    short sm25 = br_data_2 + br_data_5; <br>    short sm34 = br_data_3 + br_data_4;<br>    short s0734 = sm07 + sm34; 
<br>    short s1625 = sm16 + sm25;<br><br>    return s0734 + s1625;        <br>}<br>======================================<br><br><br>======================================<br>short %test(short %br_data_0, short %br_data_1, short %br_data_2, short %br_data_3, short %br_data_4, short %br_data_5, short %br_data_6, short %br_data_7) {
<br>entry:<br>    %dbg.1 = tail call {  }* %llvm.dbg.func.start( %lldb.global* %d.test )        ; <{  }*> [#uses=1]<br>    %dbg.tmp.1 = tail call {  }* %llvm.dbg.stoppoint( {  }* %dbg.1, uint 10, uint 0, %lldb.compile_unit* %d.compile_unit )        ; <{  }*> [#uses=1]
<br>    %dbg.tmp.3 = tail call {  }* %llvm.dbg.stoppoint( {  }* %dbg.tmp.1, uint 17, uint 0, %lldb.compile_unit* %d.compile_unit )        ; <{  }*> [#uses=1]<br>    %tmp.6 = add short %br_data_1, %br_data_0        ; <short> [#uses=1]
<br>    %tmp.15 = add short %tmp.6, %br_data_2        ; <short> [#uses=1]<br>    %tmp.18 = add short %tmp.15, %br_data_3        ; <short> [#uses=1]<br>    %tmp.12 = add short %tmp.18, %br_data_4        ; <short> [#uses=1]
<br>    %tmp.21 = add short %tmp.12, %br_data_5        ; <short> [#uses=1]<br>    %tmp.9 = add short %tmp.21, %br_data_6        ; <short> [#uses=1]<br>    %tmp.24 = add short %tmp.9, %br_data_7        ; <short> [#uses=1]
<br>    %dbg.tmp.7 = tail call {  }* %llvm.dbg.region.end( {  }* %dbg.tmp.3 )        ; <{  }*> [#uses=0]<br>    ret short %tmp.24<br>}<br>======================================<br>