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

    <tr>
        <th>Summary</th>
        <td>
            cannot find libc when cross compile for aarch64
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc
      </td>
    </tr>

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

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

<pre>
    my clang/llvm build from source use tag:18.1.8, target header and library download from [clang+llvm-18.1.8-aarch64-linux-gnu](https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/clang+llvm-18.1.8-aarch64-linux-gnu.tar.xz), when I use below command to build a hello_world program for aarch64 on x86_64, it said cannot find -lc, llvm contain libc runtime, but I cannot find libc.so, where it is?

```
➜  /root/src/software /usr/local/llvm/18/bin/clang++ -v --target=aarch64-unknown-linux-gnu \
  --sysroot=/root/src/software/clang_sysroot \
  -I/root/src/software/clang_sysroot/include \
  -I/root/src/software/clang_sysroot/include/aarch64-unknown-linux-gnu/c++/v1 \
  -I/root/src/software/clang_sysroot/include/c++/v1 \
  -I/root/src/software/gcc-arm-11.2/usr/include \
  -B/usr/local/llvm/18/bin \
  -L/root/src/software/clang_sysroot/lib \
  -L/root/src/software/clang_sysroot/lib/aarch64-unknown-linux-gnu \
  -L/root/src/software/clang_sysroot/lib/clang/18/lib/aarch64-unknown-linux-gnu \
  -L/root/src/software/clang_sysroot/usr/lib \
  -static -fuse-ld=lld --rtlib=compiler-rt \
  main.cc
clang version 18.1.8 (https://github.com/llvm/llvm-project.git 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/llvm/18/bin
Found candidate GCC installation: /root/src/software/clang_sysroot/usr/lib/gcc/aarch64-none-linux-gnu/11.2.1
 "/usr/local/llvm/18/bin/clang-18" -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cc -static-define -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=non-leaf -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic -target-feature +v8a -target-feature +fp-armv8 -target-feature +neon -target-abi aapcs -debugger-tuning=gdb -fdebug-compilation-dir=/root/src/software -v -fcoverage-compilation-dir=/root/src/software -resource-dir /usr/local/llvm/18/lib/clang/18 -I /root/src/software/clang_sysroot/include -I /root/src/software/clang_sysroot/include/aarch64-unknown-linux-gnu/c++/v1 -I /root/src/software/clang_sysroot/include/c++/v1 -I /root/src/software/gcc-arm-11.2/usr/include -isysroot /root/src/software/clang_sysroot -internal-isystem /usr/local/llvm/18/bin/../include/c++/v1 -internal-isystem /usr/local/llvm/18/lib/clang/18/include -internal-isystem /root/src/software/clang_sysroot/usr/local/include -internal-externc-isystem /root/src/software/clang_sysroot/include -internal-externc-isystem /root/src/software/clang_sysroot/usr/include -fdeprecated-macro -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -target-feature +outline-atomics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/main-a82756.o -x c++ main.cc
clang -cc1 version 18.1.8 based upon LLVM 18.1.8 default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/root/src/software/clang_sysroot/usr/local/include"
ignoring nonexistent directory "/root/src/software/clang_sysroot/usr/include"
ignoring duplicate directory "/root/src/software/clang_sysroot/include"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 /root/src/software/clang_sysroot/include/aarch64-unknown-linux-gnu/c++/v1
 /root/src/software/clang_sysroot/include/c++/v1
 /root/src/software/gcc-arm-11.2/usr/include
 /usr/local/llvm/18/bin/../include/c++/v1
 /usr/local/llvm/18/lib/clang/18/include
 /root/src/software/clang_sysroot/include
End of search list.
 "/usr/local/llvm/18/bin/ld.lld" --sysroot=/root/src/software/clang_sysroot -EL -z relro --hash-style=gnu --eh-frame-hdr -m aarch64linux -static -o a.out /root/src/software/clang_sysroot/usr/lib/crt1.o /root/src/software/clang_sysroot/usr/lib/crti.o /root/src/software/clang_sysroot/usr/lib/crtbeginT.o -L/root/src/software/clang_sysroot/lib -L/root/src/software/clang_sysroot/lib/aarch64-unknown-linux-gnu -L/root/src/software/clang_sysroot/lib/clang/18/lib/aarch64-unknown-linux-gnu -L/root/src/software/clang_sysroot/usr/lib -L/root/src/software/clang_sysroot/lib -L/root/src/software/clang_sysroot/usr/lib /tmp/main-a82756.o -lc++ -lm --start-group /usr/local/llvm/18/lib/clang/18/lib/linux/libclang_rt.builtins-aarch64.a -lc --end-group /root/src/software/clang_sysroot/usr/lib/crtend.o /root/src/software/clang_sysroot/usr/lib/crtn.o
ld.lld: error: unable to find library -lc
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

```

clang/llvm build command
```
cmake -G "Unix Makefiles" ../llvm \
    -DLLVM_ENABLE_PROJECTS="bolt;clang;clang-tools-extra;libclc;lld;lldb;mlir;polly" \
    -DLLVM_ENABLE_RUNTIMES="libc;libunwind;libcxxabi;pstl;libcxx;compiler-rt" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local/llvm/18 \
    -DMLIR_INCLUDE_INTEGRATION_TESTS=OFF \
    -DLLVM_INCLUDE_TESTS=OFF \
    -DLLVM_BUILD_TESTS=OFF \
    -DLLDB_INCLUDE_TESTS=OFF \
    -DCLANG_INCLUDE_TESTS=OFF \
    -DCLANG_DEFAULT_CXX_INCLUDE_DIRS="/usr/local/llvm-18/include/c++/v1" \
    -DCLANG_DEFAULT_CXX_STDLIB=libc++ \
    -DCLANG_DEFAULT_RTLIB=compiler-rt \
    -DCLANG_DEFAULT_LINKER=lld
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0WV1z4rjS_jXOTZdcYAOBCy4Aw7y8S7JbGWbPnCtKltpGG1lySTIh--tPyTb5YCATkpmqFAG5P6RHrae7ZWqtyBXiOOhPg35yRSu31Wa8F8iRMnaVav44Lh6BSaryIFpIuSsgrYTkkBldgNWVYQiVRXA0D-JJdxh2w2EQzcBRk6ODLVKOBqjiIEVqqHkErh-U1LQ1EfSnrfWpt04aC4RSw7aDHpFCVXuSqyroJ0E03DpX2iCeBNEiiBa5cNsqDZku2rm1_0hp9D_IXBAtDEqkFm0QLQ5-WyFtcnKY7uJdUwgdNeH-3yAa-QU-bFHBsl57ilI_ANNF4dfpdAsRhS1KqTcP2kgOpdG5oQVk2kBrGrSC_XCwGfS8QeHAUsGBUaW0g0woDkQy_6jGnWnlqFAeRwamUk4U6B-mlYPlKy0vEVrdztKgNy1sEC-CThJ0Ju3noNP-NT_nUTCaB6MZgIdNa4-eNcx_6sw9UIP-QWWNx08zKp8x73oIU6FeABlEUyA7IKSJgyBODnBW6l7pB_UMKwT9WTMHAELso62dx8m5aRy8bFrRV_rL92oF0UIoJiuOn9UPosXZtXmtBo0gWuy6v8DVh8zljBFqCtLthtHTJp5a_vRnW_xKenXBCqRIP6P7FsiftHsgt3qJv8tVC-oRCNZRJxiQrLJIJA_iREoOhBjn5xEnTBelkGiIeRXlBRUqZKz5WXuCHRortIKGu-Biqgxz4SBO-2mfdZH1aNwZ9WnaGQ04vx52cNjj1zQddrOYX2eZZ8Da97o93BM4fwIawa1ByqHQHKUXL7UV--bRUllHpUSeCOMf_ZRkaq2FrlRNlVxw6hC-zGYgGkvUCa1aSxdvT3NYXoSA0gpfnWd_hsJuuxVBFL2XFIkfiIAw1gXijCglnkcNCBbCEZ3-A6QwKOmeUCmB8KoouTBACRAuLE0lkswgAmESqSHUOpJipg2SlLJ79CnkIFdv9w6NyASaephRw8mOygqJogVaID6ySCZkM3AItEOgEo6ZUNhMSbMaaFLvKZQ-jEvBiMQdSoiaH8KSUnj5zNACSamFcmiCOFFaEYk0A5IV1G0JGqM0kCwriU9zhjKfAbQCkilNjN9soXLiZYEUTCvrTMWcNoRK4fO7P0PqQShOnF-sDeIkgjb5EFZWkKNC4yfZjmVIXVXntOluSE8NZ6XnzN3w1DOFfm7tOE0FUFoyC4RjWuU5GuIqJVQexEnOUyBZPU6a49zAxn20n81xde7MmN6hoTlepGiwqcq84NuH6Zj-gCwvOTOH_PEhrUuS5kcdXGDkzQRJxFOl8d6ShNSBrqisdR0W76mdwvCN6V9m8ERme17NCUsX8mTr8UeTuPdf2EdM_1JjRxuYcSwNMuqQk4Iy46kGjdGGSFEIB91RQzR1N8QJ21IDJMtVxUibWIM46XneB5LZe1ESzQ1hW2T3RCiSF57I2H5PcM-w9MfUE9KrH0xLbQgXNFfaOuHJ4kda0ZWTQiGhThe1SEY5N1bkQJLN5ststvm_yd_zTfKfyd0i2swWy83k600QJ10g2sPjijKIFjWJ02F03R-EGsge2kg6VTfU6eioeEipRQ5VqRWsVn_fHIY5ZrSS7tDZNY3LuYQvcqWNUDn4_LkX1qFywIVBT9qPbd78VNR5E7_L1VkXvCql8HH0YQfHpgGobfozoH4FpA32Z_tuS92zYy92LNJ2cFH8VNJHUejZJAKLnmXBOmqcBd8M-pLwB_l45uXj-Vvyv5flP-PjMjtvcf2z9ifI-j1GzhP0x4GoFeeKg84O-yiFdeFFtarkoZS8rlQ_0ouT-QrIv2BQepIlW2q3xLpHib4U8nUtwS1pqsEtN0CKQw1cx8VzR6SBhrp6f8Y9quGZcd1Qf0JbfEo7xVyotSffS1vkX9oX_-5m-IMd8O8F5UWnfSYhykM-JLLwUe65juRGV-XFZ7YZqhFpfjWzMS5MKyGdUPZwjRhS79jHv-LPzj4YX6j4p-JThbohhfa0xxOoyyH_pVK-gQKnn-4S61tbj9pz3dCy3Us9KdQ9mqdb0IwKiRwehNsC7oUDpjlCF4JoWNm6v3EaLCIItWtbyadrhdMXlC-9v7yJbj2eVGIFvUcgXzz5fVNiDzf0Hn1_az3D1RxeW3pxuQJAEl_2bOa3k-lqvvnr7s__n8_WX2sWjFItXRC3V9btf-K0ltaXq4YG8bSOAua_eGT9ZxrE00L6vm1aaikfve83PN59u10vb-atR2-usdo0uK2H_Z6mwhu0Tj4N-Rk9XxmdcDO7mfwx30y_LVfJZv3fv-ZBnNw1N-SnJZe3X9eT1Wrz1918sfzeJIIzB-TYwM1qebdZ3s5W3xJvZz3_cjdZL_-83aznX2s0_1wsTqJw0PmZXLuKt6SS6XuszVaT2y_vF0zmi8m31Xoz-_79SSlZ3rXbdRIg8irBH1ULJ3bpBz9f18lqOQ3ipI6Ghr3eVLpbN_JnbhB_VFgtb_-Y3zU3kEdH6YqPYz6KR_QKx93rqBMN-sPh8Go77nFGe2m3100Zpcj7191B_3o4HGXDtMd7I7wS46gT9TrXnUG3Gw87_bA_yLJOlF5f97txPBiwoNfBggoZepRCbfIrYW2F49H1cNS5kjRFaeuXU-05iKKgn1yZcQ1qWuU26HV8jWOfDTjhJI6PX4c0r2uY0dZCi8nLNzFXlZHji18u1XO1QbRoprsbR_8LAAD__6hTzwE">