[LLVMdev] POSIX thread library support

Hanfeng Qin hanfengtsin at gmail.com
Mon Sep 26 00:48:16 PDT 2011

Hi chenwj,
For the first question, even if I did not specify "-o fft.bc", it still generated fft.o which is also a llvm bitcode file.
For the second question, I intended to generate a native executable "FFT". However, it only generate a llvm bitcode file fft.bc and a native POSIX shell excuatable named fft. Howerver, the contents of the shell executable fft is a wrapper to call "lli fft".

I also asked some other people. They told me that pthread came along with the native system and was not distributed by llvm. Libpthread.so and libpthread_nonshared.so were located in /usr/lib. "llvm-ld -native -o th th.o" failed even I told it that "-L/usr/lib".

Best regards,

> According to the link, I found that during the compiling process, the option "-emit-llvm" must be added to generate immediate object *.o. 
> [hanfeng at os-wstation02 fft]llvm-gcc -c fft.c -emit-llvm

  "-emit-llvm" emits object file which contains LLVM bitcode (IR).
Default file name suffix is .o, but you might want to use "-o fft.bc"
to make the suffix self-explained.

> Then using llvm-ld will generate two files - a shell excutable and a llvm bytecode data both of which would run perfect. 
> [hanfeng at os-wstation02 fft]llvm-ld -o FFT fft.o
  Is it not a native excutable?


Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667

More information about the llvm-dev mailing list