> Rebuilding llvm-gcc4 from source should work fine. Please see the > directions in the file README.LLVM at the top level src directory. You > can check llvm-gcc4 out from Subversion with the command:Dear guys, I've rebuild my llvm-gcc3 (not llvm-gcc4) from source, and now it can find stdlib.c and all the other sources, but I am having some other problems with the new libraries. 1) If I try: llvm-gcc source.c -o source; llc -f source.bc -o ch.s ; gcc ch.s -o exec, I end up getting this error from gcc: /usr/bin/ld: Undefined symbols: ___main collect2: ld returned 1 exit status If I fix this, by replacing ___main by main manually, the program seg-faults. It used to work fine with the cfrontend that came together with llvm. Do you guys know what can be happening? 2) If I try: llvm-g++ source.cpp -o source ; source I get this error: ERROR: Program used external function '__llvm_eh_add_uncaught_exception' which could not be resolved! Abort Could some one help me fixing this? Do I have to use llvm-gcc4? All the best, Fernando
Try adding -lcrtend to the gcc link line. You need to link in the LLVM runtime stuff. Reid. On Sun, 2006-08-20 at 14:30 -0700, Fernando Magno Quintao Pereira wrote:> > Rebuilding llvm-gcc4 from source should work fine. Please see the > > directions in the file README.LLVM at the top level src directory. You > > can check llvm-gcc4 out from Subversion with the command: > > Dear guys, > > I've rebuild my llvm-gcc3 (not llvm-gcc4) from source, and now it can > find stdlib.c and all the other sources, but I am having some other > problems with the new libraries. > 1) If I try: llvm-gcc source.c -o source; llc -f source.bc -o ch.s ; > gcc ch.s -o exec, > I end up getting this error from gcc: > /usr/bin/ld: Undefined symbols: > ___main > collect2: ld returned 1 exit status > If I fix this, by replacing ___main by main manually, the program > seg-faults. > > It used to work fine with the cfrontend that came together with llvm. Do > you > guys know what can be happening? > > 2) If I try: llvm-g++ source.cpp -o source ; source > I get this error: > ERROR: Program used external function '__llvm_eh_add_uncaught_exception' > which could not be resolved! > Abort > > Could some one help me fixing this? Do I have to use llvm-gcc4? > > All the best, > > Fernando > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Thank you, Reid,
I tried llvm-gcc -lcrtend ary3.c -o ary3, but I get
gccld: warning: Cannot find library 'crtend'
gccld: warning: Cannot find library 'c'
I have the libraries in my llvm directory:
llvm/runtime/GCCLibraries/crtend
Well, how do I link this to the LLVM runtime stuff? Before building from
the source, I had copied all the .h from my old gcc 4.0 to
llvm/cfrontend/and_so_forth... and I was able to compile .c all right. The
problem was the .cpp.
Thanks a lot,
Fernando
> Try adding -lcrtend to the gcc link line. You need to link in the LLVM
> runtime stuff.
>
> Reid.
>
> > I've rebuild my llvm-gcc3 (not llvm-gcc4) from source, and now
it can
> > find stdlib.c and all the other sources, but I am having some other
> > problems with the new libraries.
> > 1) If I try: llvm-gcc source.c -o source; llc -f source.bc -o ch.s ;
> > gcc ch.s -o exec,
> > I end up getting this error from gcc:
> > /usr/bin/ld: Undefined symbols:
> > ___main
> > collect2: ld returned 1 exit status
> > If I fix this, by replacing ___main by main manually, the program
> > seg-faults.
> >
> > It used to work fine with the cfrontend that came together with llvm.
Do
> > you
> > guys know what can be happening?
> >
> > 2) If I try: llvm-g++ source.cpp -o source ; source
> > I get this error:
> > ERROR: Program used external function
'__llvm_eh_add_uncaught_exception'
> > which could not be resolved!
> > Abort
> >
> > Could some one help me fixing this? Do I have to use llvm-gcc4?