[LLVMdev] fPIC in llvm 2.6
Ryan M. Lefever
lefever at illinois.edu
Mon Oct 4 00:16:21 PDT 2010
It appears that llvm-ld can handle bitcode files but llvm-gcc complains
that when I pass bitcode files to it. I assume that means that llvm-gcc
does not use llvm-ld by default. Is there a way to force it to use llvm-ld?
Bill Wendling wrote:
> 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