<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/129745>129745</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Several C++ EH tests fail with "terminating due to uncaught exception of type int"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:Hexagon
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
androm3da
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
androm3da
</td>
</tr>
</table>
<pre>
Some tests from the llvm-test-suite are failing like below. @quic-akaryaki investigated and found that using `eld` to build shared libraries instead of `lld` addressed this failure and it seems to be due to the absence of `PT_GNU_EH_FRAME` program header.
```
******************** TEST 'test-suite :: SingleSource/Regression/C++/EH/Regression-C++-ctor_dtor_count.test' FAILED *******************
*
/local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/tools/timeit --timeout 7200 --limit-core 0 --l
imit-cpu 7200 --limit-file-size 209715200 --limit-rss-size 838860800 --append-exitstatus --redirect-output /local/mnt/workspace/upstrea
m/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleSource/Regression/C++/EH/Output/Regression-C++-ctor_dtor_count.test.
out --redirect-input /dev/null --chdir /local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleS
ource/Regression/C++/EH --summary /local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleSource
/Regression/C++/EH/Output/Regression-C++-ctor_dtor_count.test.time /local/mnt/workspace/upstream/toolchain_for_hexagon/clang+llvm-21.0.
0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/qemu_wrapper.sh /local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-su
ite_target-hexagon-v79-O2/SingleSource/Regression/C++/EH/Regression-C++-ctor_dtor_count
/local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/tools/fpcmp /local/mnt/workspace/upstream/tool
chain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleSource/Regression/C++/EH/Output/Regression-C++-ctor_dtor_count.test.out /l
ocal/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleSource/Regression/C++/EH/ctor_dtor_count.r
eference_output
+ /local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/tools/fpcmp /local/mnt/workspace/upstream/to
olchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleSource/Regression/C++/EH/Output/Regression-C++-ctor_dtor_count.test.out
/local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/SingleSource/Regression/C++/EH/ctor_dtor_count
.reference_output
/local/mnt/workspace/upstream/toolchain_for_hexagon/obj_test-suite_target-hexagon-v79-O2/tools/fpcmp: Comparison failed, textual differ
ence between 'l' and 'D'
Input 1:
libc++abi: terminating due to uncaught exception of type int
exit 134
Input 2:
Deriv ok!
```
test failures:
```
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-class_hierarchy.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-ctor_dtor_count-2.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-ctor_dtor_count.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-exception_spec_test.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-function_try_block.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-inlined_cleanup.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-recursive-throw.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-simple_rethrow.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-simple_throw.test
test-suite :: SingleSource/Regression/C++/EH/Regression-C++-throw_rethrow_test.test
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMWN9v2zYQ_mvoF4IGTTmW_eAHpYmWAts6NN2zQJEniTVFqvxhJ_vrB8pKmgzF2mSOV0CwZJK6777j8e6DuPeqNQBbdHGJGONGOttnkiPG0MXVjMfQWbd9HJ7VVt5vb20POIAPHjfO9jh0gLXe9ySNER9VAMwd4IYrrUyLtdoBrkHbwxxjtKRfohKE77i75zuFldmDD6rlASTmRuLGRiNx6HjA0af30YqClmhFcbC4jkpL7DvuQGKtasedAo-V8QG4xLZJy_VxOZfSgfeQrCk_-hMdjCAqYA_Q-9EkYBkhPSUmvPZgBEyW_vhU_fL7n9X1TVV-LH67TlYHZ1vHe9wBl-DmiBbpWtHpogVir7_wp-vbTxix_EksUVagrMC3yrQabm10AhArP0KbyClrECvfIXY5XuX1zbM5Ms0QEayrZPoRNpowT_YRy3FZvP_1-gq_3mf68JseSm0F14iVvQmIlQfrdn7go79x8MEB7xErg7VadFyZqrGu6uCOtyMLW3-uvvKuAnctBDLNk32-IR_Y9LpPd9WDCpiQ9GBjwDmjFBOiVa8CEdYBHv8iWhxHhvh8SaM0EK_-AszoJl9cPJ1z3h-n1tl6vaLrcYoPAxhJ4E4FH3iIHhPiQCoHIhAbwxAD_pEgIFqcIA4vSIgPo28_nhkpq1NEn9BTZmInYY9YaaLWmBDRSeV-iPPpCI--fYczJsTHvufu_szOHT0bz8JJNyTl-H-mIjQ3LWKXY7VmizlN-0yJcNb7R0bR7Iw9GKKViXekjz7B3a1X1Wo5jbUmIlbWKpn8An2sDi6dDDf33Smjnc7tadL_-0E-f_VqBtEPLwoXosVPWi3sVPfSyTzzSft3Jv_01iFaQAMudfjqWLAfWtfluQrFaxMgBfdnbRdjApztCL0-ARAt5u4bCfA_7HySdO9sP3CnvDWjOAWJ2Dsc4C5ErrFUTQNjwiY5WkM4AJgkDXXSbUnEIpZfIZYfM_j92J8XSSzSQqtaHAPBa5WQArheGR6Snp7EbjSCx7YLGO4EDEFZkzRvuB8AqzFSSebgRbZ8ap8d7V-BU3tsd4gtvqF_aZGC8aC3_fGVpyswPrm81dz7qlPguBPd_VHe0uL0OM_zibBzIb0ZzuPuV34AUR3FxhthNdGIESq4-6rWVuzeDEoZrQzISmjgJg5vhuNAROfVHkjonD28GY5X_aChcnAWmOcgJ0cZzT9weZZyj1ViJreZ3GQbPoPtIl8uFnSdr9ms27ImW9Vsc7EUfJExkXEuV4w2YrnOQUAuZ2rLKLugGV0u8sVmyea8zpY5SFhwIRg0K7Sk0HOl50kGz61rZ8r7CNsF2-TLi5nmNWg_fRGpudiBkSgrbh6q_fhlxG1HDV3H1qMl1coH_9VcUEHD9hb24LjGE2l8ffPw0YQrjQ8qJLHMXl6YGZtFp7ddCMNYWlmJWNmq0MV6LmxqU8mR6UYGZz-DSD1tJJnaz8Rzv2V_BwAA__-CNfnX">