<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/153775>153775</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
BOLT-ERROR: JITLink failed: Unsupported riscv relocation:60: R_RISCV_SET_ULEB128
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zengdage
</td>
</tr>
</table>
<pre>
I use the following code to test `bolt` for risc-v, and run `llvm-bolt test -instrument -o test.instr` to get instrumented elf binary, but it will report a error like `BOLT-ERROR: JITLink failed: Unsupported riscv relocation:60: R_RISCV_SET_ULEB128`.
Build command: `g++ test.cpp -o test -Wl,-znow -Wl,-emit-relocs`
```
#include <iostream>
#include <string>
#include <stdexcept>
#include <vector>
void riskyFunction(int choice) {
std::cout << "riskyFunction, choice = " << choice << std::endl;
switch (choice) {
case 1:
throw 42;
break;
case 2:
throw std::string("This is a string exception.");
break;
default:
break;
}
}
int main() {
int test_case;
std::cout << "1-2 cause exception:";
std::cin >> test_case;
try {
riskyFunction(test_case);
std::cout << "riskyFunction run ok" << std::endl;
}
catch (int e) {
std::cout << "int exception: " << e << std::endl;
}
catch (const std::string& e) {
std::cout << "string exception: " << e << std::endl;
}
std::cout << "OK" << std::endl;
return 0;
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0VV2P4jYU_TU3L1dBjkMCPOQBmEHadqSR2Nn2cWScS3AxNrId6Oyvr5wwwDJMt63UCAG5H-dcH5_EwnvVGKIKihkUD4low8a66juZphYNJStbv1VfsPWEYUO4tlrbozINSlsTBouBfEAo2crqACXDtXXolJfpAfgchanRtSYWaH3YpbGqb0mV8cG1OzIB0x5m0IUiSLDYUMBLCdVIeo0rZYR7i8CrNqAKeFRao6O9dQEFknPWoVZbioSz56eX9HG5fF5CPsVfvrw8KbPFtVCa6hj5Zny7j51UdxMf0JG2UgRlDeTTksWi5evyy9f5b69fH19evz09zjI-hpINgE2BTWet0jVKu9sJ00FCyRrgM-CzfkFyv39fHKa_a-Dz9Luxx_f_tFMh7Ug9lCxiluz0YVPguTJStzUh5HNlfXAkdpA_fsj54JRp7mdq-lPSPtxLHkgG604ZNj1Y1emwfVu0RnYi8LEyAeXGKknAJwijGbApIqIPcb2QT6VtQwSDfI7A-U3__NSMkD_E9HvlOdrdncHI1BryWT9PR3NUQW4Q-PjeEPGSwhNmsf0Si1fYOHvEIe_hrjMrR2L7Y7gD4Z-BnMc76czHwPnLRnlUHgX2Uex1VtYMgHPgkxPDHbaa1qLV4SPdTS2MHqIS_Tebxq3YCWU6_rMMMRrt9RrX8KN2n2xRlnKUIj7Q55FjHb-S6tKqDEaD5I-fkAT3drMhtw669J01-Ufm6V4bdntlmjs2ucjUb-PJLFGUO175jLcrv9Li2ql_Z9Ir9jO1tMaHj5Yp_808t476TyP9xAXPv_5EWUehdQbZabt7zPfXU1JXeT3JJyKhKhsVBS_4MMuSTbUSYl2XbM0mVBSTSZ1NCpJlScNMyIyIJarijBdsnBUZY2WRDUhmXLBxNhkOR-VaCBgy2gmlB_G8GFjXJMr7lqqsyEejItFiRdp3pxXnho7YZaN7i4fEVf0h0zYehkwrH_wFJqigqfq_DoWkdbrahLD33cO0AL5oVNi0q4G0O-CLOMbpJ907-wfJAHzRDe-BL06rO1T8rwAAAP__kcAxmA">