<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/65241>65241</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Bolt] issue about using std::hash in YamlProfileReader and its test case
</td>
</tr>
<tr>
<th>Labels</th>
<td>
BOLT
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
linsinan1995
</td>
</tr>
</table>
<pre>
bolt tries to match block counts based on hashes generated from std::hash. However, std::hash does not guarantee the result will be the same from different setups.
I recently used a llvm-bolt linked against libc++, and it failed on test case X86/reader-stale-yaml.test, since the std::hash results are different from these two libraries...
<img width="505" alt="image" src="https://github.com/llvm/llvm-project/assets/47880367/6e7dd792-37ba-48d7-80c8-6b84897f3a94">
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUks9urTYQh5_GbEYgYvN3wSLJ6VErVWpVddEuBzyAe40deYZ7lLevgEhpuruSBfIYDd83_iGzWwLRoOoXVd8y3GWNafAusAsYnvq-zsZo34cxegFJjhgkwoYyrTD6OH2DKe5BGEZkshADrMgrMSwUKKGQhTnFDVisMs_KPB_HBfwcH_SdktKvX0_ARmIIUWDZMWEQIpCVIBHvXuDhvIfxKjFudPW2bp4pURBgkv2NC1XeVPl8PX-BRBMF8e-wH4QI3n_f8tPHu_DtKC3oAh_bcVL65VyvgMGCE5jR-UtMiAUmZIK_ukbpeyK0lHIW9JS_4-aL44tTyYXpA_KL3GXBgIn-A306yEpMII94UCQ8Bl0UX0SUeXXbAg9nZVXmprSuy1ppDejl2rsNFzoqnKarsoq88QGg70rfFyfrPhZT3JS-H1P4eOVvKf5Dkyh9R2YSVvpetV1XmqZV-t5Qa23b69y0I-ZVZ9u8K6cub8au6vp2NthXSmtlfrpAMzsY25seMxqemt60fdv0VbYOvSk7O49l2Xe672w9Tk0z4rFqW0-2ztygS23KvqxKo59MVYyzabHtdI-zLuupVFVJGzpfHNhFTEvmmHcamlpXT5nHkTyfUdb65bdf_zyo6luWhuvK94VVVXrHwp8NxIk_4_8Svaj6BmdHwDHuAju7sPzvEl2Av3Hzv6c4O09_nCH4CAt_ZiTbkx9-ePznv4_xn0L_BgAA___qmynj">