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

    <tr>
        <th>Summary</th>
        <td>
            LLVMTargetParser doesn't link against libkstat on Solaris/SPARC
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    In trying to cross compile rust macos → solaris (SPARCv9 and x86-64) I've run into an issue on the SPARC side of things where the build fails with these errors:

```
/Users/alex/cross/gnu-solaris11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0/../../../../sparcv9-sun-solaris2.11/bin/ld: /Users/alex/cross/rust-1.70.0/build/x86_64-apple-darwin/stage1-rustc/sparcv9-sun-solaris/release/deps/librustc_driver-4d9f640bd5851ea5.so: undefined reference to `kstat_data_lookup'
/Users/alex/cross/gnu-solaris11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0/../../../../sparcv9-sun-solaris2.11/bin/ld: /Users/alex/cross/rust-1.70.0/build/x86_64-apple-darwin/stage1-rustc/sparcv9-sun-solaris/release/deps/librustc_driver-4d9f640bd5851ea5.so: undefined reference to `kstat_open'
/Users/alex/cross/gnu-solaris11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0/../../../../sparcv9-sun-solaris2.11/bin/ld: /Users/alex/cross/rust-1.70.0/build/x86_64-apple-darwin/stage1-rustc/sparcv9-sun-solaris/release/deps/librustc_driver-4d9f640bd5851ea5.so: undefined reference to `kstat_close'
/Users/alex/cross/gnu-solaris11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0/../../../../sparcv9-sun-solaris2.11/bin/ld: /Users/alex/cross/rust-1.70.0/build/x86_64-apple-darwin/stage1-rustc/sparcv9-sun-solaris/release/deps/librustc_driver-4d9f640bd5851ea5.so: undefined reference to `kstat_read'
/Users/alex/cross/gnu-solaris11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0/../../../../sparcv9-sun-solaris2.11/bin/ld: /Users/alex/cross/rust-1.70.0/build/x86_64-apple-darwin/stage1-rustc/sparcv9-sun-solaris/release/deps/librustc_driver-4d9f640bd5851ea5.so: undefined reference to `kstat_lookup'
collect2: error: ld returned 1 exit status
```

A quick check shows:

```
[~/cross/rust-1.70.0]$ ag kstat_lookup
src/llvm-project/llvm/lib/TargetParser/Host.cpp
1521:    ksp = kstat_lookup(kc, const_cast<char *>("cpu_info"), -1, NULL);

src/llvm-project/third-party/benchmark/src/sysinfo.cc
659:  kstat_t* ksp = kstat_lookup(kc, (char*)"cpu_info", -1, (char*)"cpu_info0");

[~/cross/rust-1.70.0]$ ag -F -- -lkstat
src/llvm-project/third-party/benchmark/docs/platform_specific_build_instructions.md
48:too (`-lkstat`).
```

So it looks like the benchmark docs mention end users should manually link against `libkstat`. However for `libLLVMTargetParser` it seems like it should ideally be linked against `libkstat` at build time (or at least documented).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV0uP2zYQ_jX0ZSBBoizZOvjgZCMkwLYImqZXgyZHFmuKVElqH5f-9mJoO43TOC0K7G0Bg7AoznwPDV8iBH2wiBtWv2H13ULMcXB-o22PXjs_zKOwzh-EDYu9U8-bDxaif9b2ANGB9C4EkG6ctEHwc4gwCukCsHecrRvWcgjOCK8DML7-9HH7y9uHFoRV8LRusmbJeAsfGF89ULAFbaMDYUGHMCM4C3FASFEQtEJwPcRB20OAxwE9ptf7WRsFvdAmwKOOA3UGBPTe-cCqLSvuWHFpm-L8Oz3y7nNAHxjvhMEnxrukh_HuYOfsTLwsGe-M3lOvlIx3YRJePrRZmO1lDM_TqLLMeV4w3uX5P5vbYXttCUKxagu3KZG5WZmvioSQVDPePa2bXbPMxDQZzJTwjylXiOKAZUYhNxhTQjQoAjLeKZzCSWSK2CmvH9BnS9X2zbLYq3pdlyjqPDiiOFuFvbaowGOPHq1EKgXWFMcQRdwpEcXOOHecJ8ZXr06_nNNuQvtq8YtaLI2jrK8ev6DHHoV6tfhFLf5mOZbOGJSRU2jaKOmPoeA4e8pSAj7pCBQ7h-_vnandwh-zlkeQA8ojhME9_tuWW7_584aB9R3jSxAHuKKcooIny4x5GLPJu99RxvPjlzL4VfgDxo_CB_SMd-9diLmczuFlzUtSCADHMAGr7q4x-PooGX8L0tkQd1KEyKq3chAeGN-y6h3ja8a5nOadtr1jnDPe0vispPbnz_f31FG9-Vr3dynHQXuVTcLHZ6oXtHIYhT9SOaTh4TkQQi7lKUlTt4n3iW1kfPtjAYyviTaxJobXlC98bw0qzsKudfyXD5Z1kGWQmcTpf8lXTlL2yYjYOz_uwoRS91ru0pzaaRuin2XUzoZ8VCeI5ZpV2-gcCWJNcYFvCsbb_Ac1-8mBjkDOBTD6eD5FXsgAUYERLYEBWgUzzX2q7dkoGIWdhTHPYLQ9gjgIokbzzOj9BT-H9-4RH9BD7_z53f39bz9d1WhTEIuAOJ5Z0NMJQytMEHtMKKhu4ICI59Nv1COSDc5THy0hkXTMJAMV-bFQm0q1VSsWuCmbtqh5uVo1i2EjCmxb2ZZNVfZqL_t1WS95saz5qmwVr9qF3vCCV8WKr4ua87rJ21W1UlxhIZVqBC_YssBRaJPT186dPyzS8X3TLMt1szBijyakywXnFh9PZ3sqtfpu4TepQvbzIbBlYXSI4e8sUUeDm2-NA-Uw0KknXn-Ciy90a_j0ZT1Nd4fF7M1miHFKaxPvaNfQcZj3uXTjVwvJdbEmnpQj6fgrAAD__60jKz0">