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

    <tr>
        <th>Summary</th>
        <td>
            #80527 introduces behavior change that breaks icecream's icecc-create-env script
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          13steinj
      </td>
    </tr>
</table>

<pre>
    Script and some relevant lines for reference: https://github.com/icecc/icecream/blob/d680e4fcb261d7de271ddce331f4a23adbfd573f/client/icecc-create-env.in#L313-L316

#80527 (more accurately combined with the minor commit 0f76d9fb5fbfea92da7647af70d78165c71c0700 on top) results in a behavior change _at least_ when building clang with `-DCLANG_CONFIG_FILE_SYSTEM_DIR=/path/to/where/clang/will/be/installed/to/cfg`, and supplying the produced `default-clang` (supplying merely `clang` is unaffected).

Prior behavior: the script ends up executing the equivalent of 

```bash
/opt/clang-18.1.8/cfg/default-clang -print-prog-name=default-clang
# output: /opt/clang-18.1.8/cfg/default-clang
```

New behavior: no full path.
```bash
/opt/clang-19.1.1/cfg/default-clang -print-prog-name=default-clang
# output: default-clang
```

It is unclear if this behavior change to `-print-prog-name` is intentional hence why I'm filing this issue here first before filing a PR to icecc/icecream.

Resolution/workaround (at least for this execution of `-print-prog-name` is simple-- I'll just modify the script to call `-no-canonical-prefixes -print-prog-name`.

```bash
/opt/clang-19.1.1/cfg/default-clang -no-canonical-prefixes -print-prog-name=default-clang
# output: /opt/clang-19.1.1/cfg/default-clang
```

There is [another use of `-print-prog-name` in this script](https://github.com/icecc/icecream/blob/d680e4fcb261d7de271ddce331f4a23adbfd573f/client/icecc-create-env.in#L223) that I appears unaffected as it requests the name of actual binaries (potentially outside of the clang installation directory? is the key factor?) rather than a clang config symlink to one.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVkFv2zgT_TX0ZSCDomzJPviQNlURIF-_ou1lT8GIHFpsKFIlqaT-9wtKdpu0u0G7WGCBIALp0cyb9x6HwhjN0REd2PYV216vcEq9D4eyiomM-7zqvDodPspgxgToFEQ_EASy9IAugTWOImgfIJCmQE4Sq66gT2mMrLpiomWiPZrUT91a-oGJ1kiS8vwMhHmrs75jolX1jtNGy07UpWoUiaZUSlJVlXqDokLVabVtKs1EK60hly7ZipwoUUHuYW0cE9VtVVbFbVXWjF8zfnX-L6od34oGmNgNPhCglFPARPYE0g-dcaTg0aQeUk8wGOdD3h9MAq6bWu11t9WdJtwLhU29aVA3XDW7st7KppS84Ry8g-RHJvYQKE42RTAOEDrq8cHkfD26I8EdJrCEMd3BY08OuslYZdwRpEV3XECwmhfXr2-v3r29e_3_d-3N27v25vbN3cc_Pn5687-765sPrLpmoh0x9Uy0yTPRPvYUaGYH3TGvjbWZ3rxnXExoLalLsNRHVnMmXi-qTuNoTxlCbn4MXk2SVAahSONkU7EkrXmm73v0QCHzx2r-7XcTYXKoNcmUq-3XT0V4HzINFz6yVXK9uNiLnIowjUBfSU7pAoa-TOYBLbkEXsMzRWu-_HUY-4vIrR_ThYOi3K3L9e7crWif9QLFGIxLxRj8sXA4EKuunzd7sQ34KY1Tymh_I_8PGJ8Cf0ePzzhwHvRkLWQx17_c235drst_sbdfRX-TFo2lJQxgNKTexJ88nvxs4R9xLAYxLpFLxju00OehAY_9CW6YaAbQxi7S57gYJ4Jsa9AmxAQdaT8v5hiE9x9yoR9nyjPLfaDo7ZSL5SPhwz0GPzmVfXw5hvMAmwuerefd7LW_xR_NMFoqihmytfB5igkGr4w-PTV08iDR2jmR84VE552RaIsxkDZfKf6sU83Xv2nxF23wi1X_gfNfKPuCdz7NWpoIbPsKnU89BZgivcS2W5RZKGXbayZ2__X1IkSVZ3zqMcEN4DgShqdTDzCCSRDoy0QxxdkSuZ_cJso0oYXOOAyGYrbh6OfTgNaeMuHRqDkyv7XIeB7eOBtTmUAy-XBiVZuZzGH3dAKNeZdV7Xz94Ext6jHfP0sW6Z02R4inwRp3n83pHa1X6lCpfbXHFR3KRjT7quZVs-oPDdYkm_2m5NWeum4jt-WmbrDaouyIU7cyB8HFpuS84nVZbZt1TVxircS-bHTDpWQbTgMau7b2YVj7cFzN5_lQlny_3a0sdmTj_N0hhKPH5bQzIfJnSDjkl4puOka24dbEFL-nSSZZOny70I1Ly4X1F1MoS9QFwvsI3y3RLIunyp79tZqCPbxgrwzh_Mg2_UxytkkGHploz509HMSfAQAA__-cZAOZ">