Thanks for the quick responses, but unfortunately still no luck:<div><br></div><div><div>> llvm-g++ -g -O0 -c -emit-llvm test.cpp</div><div>> llc -O0 test.o</div><div>> g++ test.o.s</div><div>> ./a.out </div><div>

My return address is 0x400bb2</div><div>> addr2line 0x400bb2</div><div>??:0</div><div><br></div><div>Also to further implicate llc, this works:</div><div><br></div><div><div>> llvm-g++ -g -O0 -S test.cpp </div><div>
> g++ test.s </div><div>> ./a.out </div><div>My return address is 0x400bf9</div><div>> addr2line 0x400bf9</div><div>/home/jalbert/llvmtest//test.cpp:13</div><div><br></div><div>Anymore thoughts?</div><div><br></div>
</div><div>-Nick</div><div><br></div><br><div class="gmail_quote">On Wed, Sep 16, 2009 at 2:29 PM, Devang Patel <span dir="ltr"><<a href="mailto:devang.patel@gmail.com" target="_blank">devang.patel@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Wed, Sep 16, 2009 at 1:34 PM, Nick Jalbert <<a href="mailto:jalbert@eecs.berkeley.edu" target="_blank">jalbert@eecs.berkeley.edu</a>> wrote:<br>


> Hi all,<br>
> I'm having an issue with debug information and llc.  A test program:<br>
> #include <iostream><br>
> using namespace std;<br>
> void foo() {<br>
>     cout << "My return address is " << __builtin_return_address(0) <<<br>
>         endl << flush;<br>
> }<br>
> int main(int argc, char *argv[]) {<br>
>     foo();<br>
>     return 0;<br>
> }<br>
><br>
> When I compile my test program to LLVM bytecode, and then use llc to take<br>
> the bytecode to assembly, llc appears to strip the debugging information<br>
> along the way:<br>
>> llvm-g++ -g -c -emit-llvm test.cpp<br>
>> llc test.o<br>
<br>
</div>try -O0 in llc command line.<br>
-<br>
<font color="#888888">Devang<br>
</font></blockquote></div><br></div>