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

    <tr>
        <th>Summary</th>
        <td>
            Request to cherry-pick a segv fix for openmp amdgpu onto release/15.x
        </td>
    </tr>

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

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

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

<pre>
    Segv was from the order in which destructors execute between shared libraries, does not reproduce on all systems. Patch in four pieces, one adds functions to libomptarget.so, two refactor the amdgpu plugin, last one uses the new functions to fix the segv.

1f9d3974e444f95ddb600a6964ed14ded559e89c introduce functions
75aa52106452a1d15ca487af7b408a812012e133 wrap calls to global in () syntax
c214cb6a689581c1b7f3b702b5da6d68de6eaf3f reintroduce `static` missed from previous
ed0f21811544320f829124efbb6a38ee12eb9155 fix the segv
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxVUs1ynSAUfhrdMHEEgQsLF2kyWXTVaZ-An4PSoljA3Ju3L3qTZjLjKMjhO9_P0dG-jb9gekVXlZFLcUFlBhSThYT8iq6zNzOykEvaTYkpI7iB2QsgDeUKsKI8qwQWBa-TSh5yQ56QjZDRGgtKsKVod1MRV6RCQPktF1hyh36oUoFrBxf3hDYP5n41roCUtZXLvpri45pRiQd6XLai0gSly_EoLNdY4Z06WJ2c1WKnbUdb2Ce_HhVB5XLi7bnSOUpWuH7Fdf52HuTqQNf0z03_eH9jJ-0gLxQopU4yazXve8Ulp2AxtWAZkyCkqQrKu8L_wHeEC1OKEdxzyojCFjOjqLgod9G0F0pg0mMCeBjQNakNmWrOyWgKUatwGNMQ0RBZHVuLut0xDcHUaK64kExgg_XFDfrSE82s4pYLCxyUG1w15pNXw_tcVPGmLtDic65pnUFvCV593N_5gu0dwQJjRulAeieIxISC07XfIAAqWy0xY188a2HEnMmBX6qS1o6DlYNUbfElwPgT_u51cA5VZoaU3h42b_4gdd48YVyNLm6wLttHenEtR6wBVIaGvGDW3do9hXEuZcvN8Fj_1WfyZd51Z-JSNyG8fnwe6rT9BlPqturcj4l6YVww3s6juWgta3BWGOaEAce1NLLqZEyRfuBtUBpCHhv2rSHkmJQToq4b9tz6kfSE9KKv_mBBeYfBUi2EdVKAraE2tIdF-dAdPLqYpjaNJyW9T7keBp9L_jxUOftpBTjbVXy1lzmm8Xtcn-bqGSTnIdj2pDCeEv4B8Og0eQ">