<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJzVVk1v4zYQ_TXyZWBBH5ZlHXTI2nWxwKaHpu2dFscWu5QokFSy_vd9lJRsmt0WaYKiKCBRJIecmTczj9TJyGt9Z7SwylEjemrFPVM3aq8GzTQIK7RmTT_u96R65zESXpneYUTRNomy4-gs2kvToI3y_U9R_gMEMdGvvVeaPn367ZbSPMr2hM1kzuRb7uiBLdPZjL0kgRdzBM3sPDnW3HiWUXKIkptgY36mYaNFf6F7tg5OQG2cxIvkF2Ev7KP8hhy8bu6rtRv7tZuhZXGaLstay0JSZyTrsHgwTn2ZRR9nfCwPygYR8NyLgE3r-w4fy5d27P0MNgRDsoenJiyJ8ea7arPbonNS_azxOOFDWKWSAPdNFBcrzyOYhpBqdXqa-Cs0YWmcP6J_i6X09ZbSOHuHpfLVhsq4eIed6tV2qnjzaOduKbd_MWT7JxATsYIC6I6j_EO0Sbrt5oUjf7foBR1uzp7tg7DSBX75Vni6GE8naz5zPxHL9PpKgsQAT7n3GFhMmw4CnsloHBPIzyAVNWC2kqCmhPH_JwHL_4aA_6iM3mbidWX0_VV5tixD583V9tGTHy3OfjOi16Jo8IST-6wsDu5QUVF2gwd3g1R2Ss2VjEVBzfMQ76BNO1qf_xyUcJNUoYadCZXY00OLJuh2okPDPhTrUnaTXfVYLLBL_sGQuzrP3UIEfrpGJrckD9xLNy2F7Hl-Zv_iBfCMEzwYNS4lKxqegTYtyh59831SmK5TnrKdLHZyd-YsqTbivK2STDKXp43c7rjJE5FzJcu8XLg7gntTnR-h246K7gyohStUhRwI99mKa9xxuE-nDQckNSwnOlpFt8JSWlGWYCov0BRhkKW0TsokeQ4HGygqPhysQvyi4kB33gyID2quVbBoEBJLg-Wz-sIhRgAtvqnjEPP5vkZ2Q0znDS_isZJ1Lqu8Eisxwautsb5djVbXrfeDC8cKfhOQdOXb8RQjcl_5HT7rwZrfkTgMlXMjI5_HIi-TatXWhUCvqqqm4oqLXOYibTbMsuSikmKbrrQ4sXY1wEZZNp1UsCdn3FkWKgOfAXjOxnYQLVwLsuKwer-LqkYGQhKSNN8kxS5OSsEiKdJT02xSljskljuhdBz0xMZeVraeVJ7Gi4NQK-fdV6FwTl165gXRLWriZ3Fd3PXKa67n81gadn2UlR5URIbAqBd_a8jf8pe3mnyuJ4f_ANuTHs0>53709</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang doesn't find gcc installations on Solaris
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:driver,
            platform:solaris
      </td>
    </tr>

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

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

<pre>
    Solaris can have multiple parallel GCC installations in `/usr/gcc/<N>`.  Until LLVM 13, all of them were found and the latest selected
```
clang version 13.0.0
Target: sparcv9-sun-solaris2.11
Thread model: posix
InstalledDir: /var/llvm/reghunt/gccinstdetector/./389486/bin
Found candidate GCC installation: /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.3.0
Found candidate GCC installation: /usr/gcc/11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0
Found candidate GCC installation: /usr/gcc/7/lib/gcc/sparcv9-sun-solaris2.11/7.5.0
Found candidate GCC installation: /usr/gcc/9/lib/gcc/sparcv9-sun-solaris2.11/9.4.0
Selected GCC installation: /usr/gcc/11/lib/gcc/sparcv9-sun-solaris2.11/11.2.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
```
Afterwards, that got broken and only a apparently random one of those is ever considered:
```
clang version 13.0.0
Target: sparcv9-sun-solaris2.11
Thread model: posix
InstalledDir: /var/llvm/reghunt/gccinstdetector/./389487/bin
Found candidate GCC installation: /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.3.0
Selected GCC installation: /usr/gcc/10/lib/gcc/sparcv9-sun-solaris2.11/10.3.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
```
It turns out this is the first one **in directory order** (`ls -f /usr/gcc`), so even when the same set of versions is installed on two systems, the selected one depends on the installation order.

I could trace this change to
```
commit 28d58d8fe2094af6902dee7b4d68ec30a3e9d737
Author: Fangrui Song <i@maskray.me>
Date:   Fri Mar 19 20:35:59 2021 -0700

    [Driver] Stop searching other prefixes once a GCC installation is found in one prefix
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVVk1v3DYQ_TXay2AFfa6kwx4cb10EiHuo294pcXbFhhIXJGVn_30fJdlxnbRwHARFAYkSOaP5ePOGVGvkZX9ntLDKUSdG6sU90zBpr86a6Sys0Jo1_Xx9TWp0HjPhlRkdZhTtkii7mZzFeOo6jFF-_UuU_wRBTPT76JWmDx_-uKU0j7JrwsdkjuR7HuiBLdPRTKMkgRtrBMvsPDnW3HmWUXKIkqvgY7nmaafFeKJ7tg5BwGycxKvkN2FP7KP8ihyi7u6brZvGrVtSy-I0XdV6y0LSYCTroHw2Tn1aRO-X_FgelA0i5HMvQm5a3w94WD710-iXZAMYkj0iNUElxp3XTVHv8NKqcbF4M-cHWKWSSO4LFFcvzxFMA6RatU8L_5RNUI3zx-zf4il9vac0zr7DU_VqR1Vcfoef5tV-mrh49HO30u0HQnb9lMTcWMEAbMdR_i4qkmFXvAjk35RetMPV0bN9EFa60F--F55OxlNrzUce58Yyo76QIHFGpDx6TCyWzQABL81oHBOan9FU1KGzlURrSjj_fzZg9d804DfR6G0uXkejr2vl2aqGlzez7b0nP1ns_WbCWw_S4Ao791FZbNyBUVF2hQtng1R2Ls2FjAWhlnWIa1jTjrbHv4MSTpImcNiZwMSRHnoMwbYTAwb2gawr7Wa_6pEs8Ev-wZC7OM_D2gj8dIzMYUk-8yjdrArZ8_os8cVrwkue6INJ41CyouMl0a4H7fFuvt4UZhiUp6yWZS3rI2dJU4jjrkkyyVy1hdzV3OWJyLmRVV6tvTuh92ae38C2nRTdGbQWjlAVaiDcRysu8cDhPJ0_OKCoQZ3oxiq6FZbShrIES3mJoQyTLKVtUiXJ83TwAUXlu4NVwC8qD3TnzRn4gHO9gkcDSCydLR_VJw4YIWnxBY8D5st5jeoGTJcPXuCxkftcNnkjNl55zftlu5CG3RhllQdTYAAFf_EzAfPrT8hmsnrfe392YQfCHwX4oXw_tTFA_rwVhMf2bM2fqDGmyrmJUfqbMq-SZtPvWbCUabsrd01e1G1TVHWaNUnTcp00SVFstGhZuz1wibJsjhL-5AJRlgUS4XFGfEdjB4jWtgyy8rBRe0Ad0E7SvEjKOk4qwSIp07bripRljQryIJSOQ6CxsaeN3c8xt9PJQaiV8-6zUDinTiPzGs8tiv-ruKzOxEyUvTXW95s50_2c5l9uIAiN">