[LLVMdev] debugging LLVM generated executables???

Mark Oskin oskin at cs.washington.edu
Mon May 5 18:21:32 PDT 2008


Hi everyone again,

I did discover the following works (see below).  However, does anyone  
know of the "proper" way with LLVM?

llvm-gcc -g -c -emit-llvm helloworld.c
opt -load=mypass.dylib -mypass < helloworld.o > helloworld-mypass.o
llc -fast -f -o helloworld.s helloworld-mypass.o
as -o helloworld-prime.o
gcc -o helloworld helloworld-prime.o
gdb helloworld

On May 5, 2008, at 4:17 PM, Mark Oskin wrote:

> Hi everyone,
>
> I have a question that seems simple, but has been confounding me for
> several hours.  I'd like to debug a binary produced with LLVM.  For
> the life of me, I can't get any symbols into gdb and llvm-db won't
> even start the program nor load any useful information about it.
> Here's my current strategy (which isn't working):
>
> llvm-gcc -g -O0 -c -emit-llvm helloworld.c
> opt -load=mypass.dylib -mypass < helloworld.o > helloworld-mypass.o
> llvm-ld -native -o helloworld helloworld-mypass.o
> gdb helloworld
>
> I've tried several variations on the above.
>
> Any suggestions?
>
> Note, what is critical about the whole thing is I must run "mypass" on
> the bytecode file.  I'm hoping there's an easy fix, that will both
> allow me to run my arbitrary pass, and debug a program.
>
> thanks,
>
> -Mark
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list