[LLVMdev] fPIC in llvm 2.6

Bill Wendling wendling at apple.com
Sun Oct 3 22:15:31 PDT 2010


You do it by using the -flto flag. But you will need a linker that's able to handle the bitcode files. The Apple linker can and so can the "gold" linker.

-bw

On Oct 3, 2010, at 7:47 PM, Ryan M. Lefever wrote:

> The reason I was linking via llvm-ld is because I didn't know how to 
> pass bitcode files to llvm-gcc.  How can I do that?
> 
> Anton Korobeynikov wrote:
>>> Is fPIC broken on x86_64 in LLVM 2.6?
>> No, it works w/o any problems
>> 
>>> -------------------
>>>> llvm-gcc -Iinclude -emit-llvm -fPIC -O3 -c -o file.opt.bc  file.c
>>>> llvm-ld -native -Xlinker=-shared -Xlinker=-Wl,-soname,libtest.so -o
>>> file.so file.opt.bc
>>> -------------------
>> PIC-ness is a backend option. So, passing -fPIC to llvm-gcc does not
>> make any sense, it is not saved into the bytecode.
>> Try passing -relocation-model=pic to llvm-ld, or just compile
>> everything via llvm-gcc which known how to pass necessary options to
>> backend :)
>> 
> _______________________________________________
> 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