[LLVMdev] llvm-ld -disable-opt behavior.
daniel at zuster.org
Wed Jul 15 20:17:57 PDT 2009
On Wed, Jul 15, 2009 at 7:29 PM, sanjiv gupta<sanjiv.gupta at microchip.com> wrote:
> On Wed, 2009-07-15 at 10:37 -0700, Devang Patel wrote:
>> On Wed, Jul 15, 2009 at 9:32 AM, sanjiv gupta<sanjiv.gupta at microchip.com> wrote:
>> > Consider the example command line below
>> > $ llvm-ld -disable-opt hello.bc -l std -o hello.out
>> > Why does -disable-opt links in all the bitcode from the libstd.so into
>> > hello.out?
>> ... because it just disables optimization passed. It does not disable linking.
> I think I did not explain the question really well.
> -disable-opt links the whole lib into the final program while not using
> -disable-opt links in only the required symbols. Why ?
I think you are confusing the order. Probably what is happening is
whole lib is getting linked in, then optimization is throwing away a
bunch of stuff.
Linking works on modules at a time, so if hello.bc uses some symbol X,
it will pull in the entire module inside the library which contains a
definition of X.
> - Sanjiv
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev