Summary: Currently bitcode produced with `sledge buck link` can have missing symbols that are clearly defined in the source. For example consider a symbol `awesome_function` that is defined in the libraries linked in but not in the produced binary (despite being reachable from main). `llvm-nm` of the bitcode produced by `llvm-link` might look like: ``` U awesome_function t awesome_function.1892 ``` Some our `awesome_function` is undefined and its definition is called `awsome_function.1892` for some reason and is local. I think this is because symbol get internalized too early and then they get renamed and somehow lost. Not sure why `llvm-link` behaves this way sometimes. This patch removes internalization from `llvm-link` and puts it into `opt`, where it doesn't cause problems. Reviewed By: jvillard Differential Revision: D16494153 fbshipit-source-id: aad9053a4master
parent
1415be9153
commit
afb6a4fd11
Loading…
Reference in new issue