<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59488>59488</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
             Linking libTO.so failed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            build-problem,
            LTO
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          carlosgalvezp
      </td>
    </tr>
</table>

<pre>
    Hi!

We are bumping our LLVM build from 1ae33bf42680b156fe0f5cd6163bf24ef45d8cd3 to 35d9f873e3f21846de1b8f07271feedbbe8518ed, and get the following build error message:

```
FAILED: lib/libLTO.so.16git 
: && /tmp/llvm-project/build/./bin/clang++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -Wl,--version-script,"/tmp/llvm-project/build/tools/clang/stage2-bins/tools/lto/LTO.exports" -shared -Wl,-soname,libLTO.so.16git -o lib/libLTO.so.16git tools/lto/CMakeFiles/LTO.dir/LTODisassembler.cpp.o tools/lto/CMakeFiles/LTO.dir/lto.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib" lib/libLLVM-16git.so && :
ld.lld: error: version script assignment of 'LLVM_16' to symbol 'LLVMCreateDisasm' failed: symbol not defined
ld.lld: error: version script assignment of 'LLVM_16' to symbol 'LLVMCreateDisasmCPU' failed: symbol not defined
ld.lld: error: version script assignment of 'LLVM_16' to symbol 'LLVMDisasmDispose' failed: symbol not defined
ld.lld: error: version script assignment of 'LLVM_16' to symbol 'LLVMDisasmInstruction' failed: symbol not defined
ld.lld: error: version script assignment of 'LLVM_16' to symbol 'LLVMSetDisasmOptions' failed: symbol not defined
ld.lld: error: version script assignment of 'LLVM_16' to symbol 'LLVMCreateDisasmCPUFeatures' failed: symbol not defined
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
```

We are building inside a docker image (so the build folder is always clean), with the following configure and build command:

```
RUN cmake \
    -G Ninja \
    # First-stage options
    -DCMAKE_BUILD_TYPE=Release \
 -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" \
 -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
 -DLLVM_TARGETS_TO_BUILD="X86" \
    -DLLVM_USE_LINKER="gold" \
 -DCLANG_ENABLE_BOOTSTRAP=ON \
    # https://github.com/llvm/llvm-project/issues/55517
 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
    # Second-stage options
 -DBOOTSTRAP_CMAKE_INSTALL_PREFIX=${OUTPUT_DIR}/usr \
 -DBOOTSTRAP_CMAKE_BUILD_TYPE=Release \
 -DBOOTSTRAP_LLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" \
 -DBOOTSTRAP_LLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
 -DBOOTSTRAP_LLVM_TARGETS_TO_BUILD="X86;NVPTX" \
 -DBOOTSTRAP_LLVM_ENABLE_LLD=ON \
    -DBOOTSTRAP_LLVM_ENABLE_RTTI=ON \
    -DBOOTSTRAP_LLVM_BUILD_LLVM_DYLIB=ON \
 -DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \
    # https://github.com/llvm/llvm-project/issues/55517
 -DBOOTSTRAP_COMPILER_RT_DEFAULT_TARGET_ONLY=ON \
    # Disable CMake developer warnings
    -Wno-dev \
    ../llvm
RUN ninja stage2
RUN ninja stage2-install
```

Is this known? How could we solve the problem? 

Thanks!
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMV19z4jgS_zTiRSUKZP4-8AAYstwSSBFnM_NEyVbbaCNLPkmGZD79lWSSkEwyO3W7V3NVKUeWu3_9a3Wru2HWikIBTFB_hvpxi9XuoM0kY0ZqWzB5hG9VK9X8afKbQLSLOjHqTJvnPWBmAKd1WQlVYF0bvF7_cY3TWkiOc6NL3GUQRWneo4NRJ-32Bzl08n7GB91BlOa0B3mvz0cZj7DTOOrzcT4aRhDltDvqDTh001HeGdJhNwfgaQqjfncEHNE5ZorjAhx2B8C5llKfPIPGMBijDS7BWlYAiqaXlNGgc_4Lr8vpar2IUTTFUqSILqVI18m2bXW7OyiEw2elaIoRHSA6wIguXVl5SXksSWX0n5A5RJfBMqLLtl8Lhegyk0wViM4QnWGS36zmL0-liYWSKScyIpQDU2krnNAKk_worEiFFO6JCCWFAksOgnNQmNwHv1AUc-aAOFHCxV6tipoZDpywIxOSnTEUnDC5Z1J60UdnGCb3SpNa1RY4qZhhJTgwmNyfjHBArDNCFRaT-4xZR_5dM69ZCmuFKkguQHIilHCCSfENjMWkAh48aYClVkV4eITG-fGIZLqsmCOBgHddYHIvykqKTDiSMyndwei6OHglfQQDnNiTcNmBcMhZLV0DrjQ8ZlA54p4qCFuKHIVxNZOEO-294CDBAfngi62LAqwjHt8I7vUbZ0mm1RGMDefvXZXAuN8XioNyrAnMfeYYJyV7SoHUytZVpY0DjknOBSuUtk5klmRaemN5XqvM6xEL4b_1csyxi_dthEm8iRezuyuMyb1EdE6-ITrnkNvLd6UbnzDJawtEchTFUvJnkcYkuSCBX-BIkV0YPO-dXSU2M6JyiM4RpX-V1E5raV9TemkdK4CSVCh78VU6jejSXx949KdjEaWY2AMz8ELXasVKQHT-_qIR_ckNfIs-v2YPsBQS7NkUF6ZZxcIya6FMJZh2VlVt_XOq0umz-DNHUzF3OB9Mf45ob7tbXa02_nK3G4LesVe26z-uSeDatvqlTDxXHcnb0sdsis83dYqfk62JAG7qbwnKYZ1jRIcecN8dIDr0RdE-lamWz_tzA8xB8LX0AjkTEgL8WU5phznkQgH_nxOY39z9Eg6N9VjYSlv4hQxWyjpTh_v1S1jcgmuIbKtwx_8fEmIJzNUGfpJLKCikO3jDRgr1AAZnuix9l29Q8Em4A4ZH4XCmOeAuRnRUW8DkGDgBYKGOOmNNNMYfdvt3U4uQvs5joazvBwxznXnDomQFeHirw3hxnma05P6jxUye2JPFmQQWLNF5Q-7tKJJplYuiNhBGlQbj7NKPR5Ld3QZnJXsA7KtP2MK-pl_hjVB_sre7iEZ4KYx1JNRkrM-Z8KoWz6-nvy_2s7vVOt4nX28WKIp3IIHZSwMkDjFebKaz9WJ_s9v-azFPblEUI0qbqh_NmmCFotq0chTNfCZR-inQ7m6TrK4Xz0C6rIQEQ4zzqiLNHh9fFiwVHyIl093VIrndJ9vGhwbqy2jwVjq4GhTubhf79Wrz-2LXiBb6e47z9XRz9Uxytt0mt8lueoOieLv5_nwPzlXWx4wuEV0Wwh3qtJ3p8twvv2-bwto6dJl-v98dvhrdXt-s1ovdfpfs48VyerdOzt7tt5v110-s30KmFf8wvCR-ob5vorza3CbT9Xp_s1ssV1-C_z00nG3vkpu7ZB-vdmgYI7qsrXlzHO9h_jJZXhX-sbT5GPLvJdA7zM9TKZpt_rhJvvwcp3XQfB-rTz1IktXPiDdnHpbx1_Vq9l7nOwWf4z-Q_4eT9yJF_qs09g0ilYDDFIY5HEHqCgw-MaP8L46Lk_GjPofjW4xm9PKMX4qkCuWwmUU_3iVCWcek_EEzWFnsDsLiB6VPCkVL_Js-4UzXkuMTYKvlEUJhr4xOJZRe4lI9OTD1YBHttvgk4uNozFow6Q6GnTHtDPqD1mEyYGPoDHhEIaOQj3nWo9mwS9OsM87yvM9bYkI7lHZpN-qMomE0aEM6TCMepTlAB4ZDhnodKJmQbe9-W5uiFWI06Y97o1FLshSkDT_eKQ1thjxz9YO9n2LXyTbMsnHLTEK007qwqNeRwjr7iuqEkzDBa6EefAOTIg1z-LkBt2ojJ38jmzzZ_wQAAP__TcMjqw">