[llvm-dev] weak definitions in LTO
Zhao, Weiming via llvm-dev
llvm-dev at lists.llvm.org
Tue Dec 8 15:04:55 PST 2015
Hi,
I have a question regarding the behavior of weak symbol resolution in LTO:
Suppose there are weak definitions in both the source code and some
native lib.
In non-LTO path, we will use the version from source code.
In LTO path, LLVM may discard the definition as it has "linkeonce"
linkage type. So the native version will be selected by linker.
Now, non-LTO and LTO build may have different behavior.
The question is do we need to make non-LTO and LTO have the same
behavior? If so, the LTO part needs to create pseudo uses (or some other
mechanism) to keep the symbol from deletion.
Thanks,
Weiming
More information about the llvm-dev
mailing list