<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/141723>141723</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Regression for RISC-V caused by b754e40 "MC: Remove redundant relocations for label differences"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:RISC-V,
regression,
mc
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
MaskRay
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
asb
</td>
</tr>
</table>
<pre>
After b754e40 commit, the `XRay-riscv64-linux :: TestCases/Posix/coverage-sample.cpp` test case starts to fail:
```
/home/buildbot-worker/bbroot/clang-riscv-rva23-2stage/stage2/./bin/clang --driver-mode=g++ -fxray-instrument -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -std=c++11 /home/buildbot-worker/bbroot/clang-riscv-rva23-2stage/llvm/compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp -o /home/buildbot-worker/bbroot/clang-riscv-rva23-2stage/stage2/runtimes/runtimes-bins/compiler-rt/test/xray/RISCV64LinuxConfig/TestCases/Posix/Output/coverage-sample.cpp.tmp # RUN: at line 3
+ /home/buildbot-worker/bbroot/clang-riscv-rva23-2stage/stage2/./bin/clang --driver-mode=g++ -fxray-instrument -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -std=c++11 /home/buildbot-worker/bbroot/clang-riscv-rva23-2stage/llvm/compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp -o /home/buildbot-worker/bbroot/clang-riscv-rva23-2stage/stage2/runtimes/runtimes-bins/compiler-rt/test/xray/RISCV64LinuxConfig/TestCases/Posix/Output/coverage-sample.cpp.tmp
/usr/bin/ld: .eh_frame_hdr refers to overlapping FDEs
/usr/bin/ld: final link failed: bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
The following recipe is sufficient to reproduce (and a variant of it was used to do the bisect and confirm the problematic commit):
```sh
cmake -G Ninja \
-DLLVM_TARGETS_TO_BUILD="X86;RISCV" \
-DLLVM_ENABLE_PROJECTS='clang;lld' \
-DLLVM_ENABLE_RUNTIMES=compiler-rt \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_ENABLE_LLD=ON \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_RUNTIME_TARGETS=riscv64-linux-gnu \
-DRUNTIMES_riscv64-linux-gnu_CMAKE_SYSTEM_NAME=Linux \
-DRUNTIMES_riscv64-linux-gnu_CMAKE_SYSROOT=$HOME/rvsysroot \
-S llvm \
-B build/rvregression
cmake --build build/rvregression --target runtimes
./build/rvregression/bin/clang --target=riscv64-linux-gnu --sysroot=$HOME/rvsysroot --driver-mode=g++ -fxray-instrument -std=c++11 compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp
```
The riscv64-linux-gnu-ld on my system is 2.43.1.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsVl1v4rwS_jXmZmQUnFDoBRchhF3O4aMKdE_3KnKSCXibxMh2aPn3RzaU7kJX5-y7q_fqlSI1dWYez8fDM8O1FtsGcUT6Y8LYguvnhB8JY6Q_6fDW7KQacZ11MlkcR2FpUEE26AcYeJDLuhaGsAjMDoHceU8JP1IldH64C2glmvYViB8SP4QNahNxjZqw6YPU4pWwaS4PqPgWqeb1vsJuvt-TOw8MagM51wjacGU0GAklF5VF8txz550fLyRsupM1EjbNWlEVmTT0RapnVPYkU1Iae1HFm-0pLqoOnPmUacO31sv9ZYRNu9ZBNG_WQGmhxAEVrWWBxJ9sCRsTNgZavip-pKLRRrU1NgYA6H_MTiEvqOYlmuP1_1RhiQqbHG--ZGg4WARtCuJP8tMlvR78bl5Vdahdieu9qFBRZe1tZQmb2gQIm_6fLQEqfzuaS5VV2xhRuyvfXmkmGv0_Qk1m6-jLXTC3jIpkU4rtT-JftWbfmo8T6Zp6D4T5kDwuLSW5gUo0CL6j0fjPJfnXqfSbRPqHRX8Pi06602p1aXRVWEZ1cZeWiteY7goFrllOvSxKxfd70WxhOon1z_xL0fDKkvLZCR66w4wXcOBVi8QLXXHsISollX2xxqicEvOmOLvBizA7wFdhIJcFgiXCsNUI9GDD0YggmoPMuRGyIez-WlO9cLNDKGVVyRcbs8Jc7BGEBt2WpciF5aqRoHCvZNHmaPHt9RwOXAneGJAlCAMvXEOrsbDGhXRTIhMacwPWOrc9ULU73iuZVVhzI_LLWLm_VXy9s1Wo-TMC_QRL0XzjQPoR8UIAOpnPvyzSTZh8ijfrdLNKx4-z-YT4E8LY0_CO-GPHAMLYtU-8DMfzOH1IVv-Ko83auQzOxR5XVUHY4M3lR4_kcbmZLWLr8R3zruGjKIw-x5dwVssrsMd1nCbxPNzMvsTpQ7j5vE5ny3Q6mzvgd3Ogk2gR_jtOozRaLR5m8zixFzuRuSCeLZ6ebmzOsvNx7vOb0E5ALuh08_UhJv4kwQrtYP4YIlyv42QzWy3XHyV5LtVbf4g_-WFRoNumffd4q2t6Y5Oewlp_XW_iRboMFzau-WnV-BXvZLXauD4Hn1eL2CrJQR-1FaH37NZgBfCCOwanW85W4Vah1vb3cyEkdZ8_NAJKDVdbNHDRLi_svinhNeL1-Di5flgxSs9R_ySXX5g918PjD6j-7b5mheUmC1oVIBuoj6CP2mBtlYZ1A7_b63aKkV_c-_e8g6PeIBgGvWGv53V2I9YbDPjQ9zPv3g-QD4c8yHy_CPzhHfKhV3bEiHms7_XZ0BsEveC-W2Ze4PXuyzzo97E_8EjgYc1F1bVN7kq17QitWxz1gt6A-Z2KZ1jp81ac8fwZG6vHVkKo1RDCIsLY9107H9X5eXlWI4tMs3arSeBVQhv9fpcRpsJR8s6QUio4gUPOnWhmx8umbRfzyOp9grU8ICgs2qawQquwOgu5dhAubChEed4UNGGs06pqtDNmr62isilh060wuzbr5rJ-H_Mu2r2S3zC3rXbVsA0-F-QwYv8NAAD___Zu6rE">