<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/123817>123817</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
fails to link `error: undefined reference to 'llvm::checkRegister`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
build-problem
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sylvestre
</td>
</tr>
</table>
<pre>
On linux amd64:
```
FAILED: bin/llvm-ar
: && /usr/bin/g++ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=3 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fdebug-prefix-map=/build/source/build-llvm=../ -fdebug-prefix-map=/build/source/= -no-canonical-prefixes -ffile-prefix-map=/build/source/build-llvm=../ -ffile-prefix-map=/build/source/= -no-canonical-prefixes -O3 -DNDEBUG -Wl,-z,relro -Wl,--build-id -fuse-ld=gold -Wl,--gc-sections tools/llvm-ar/CMakeFiles/llvm-ar.dir/llvm-ar.cpp.o tools/llvm-ar/CMakeFiles/llvm-ar.dir/llvm-ar-driver.cpp.o -o bin/llvm-ar -Wl,-rpath,"\$ORIGIN/../lib:" lib/libLLVMM68kAsmParser.a lib/libLLVMXtensaAsmParser.a lib/libLLVMX86AsmParser.a lib/libLLVMM68kDesc.a lib/libLLVMXtensaDesc.a lib/libLLVMX86Desc.a lib/libLLVMM68kInfo.a lib/libLLVMXtensaInfo.a lib/libLLVMX86Info.a lib/libLLVMBinaryFormat.a lib/libLLVMCore.a lib/libLLVMDlltoolDriver.a lib/libLLVMLibDriver.a lib/libLLVMObject.a lib/libLLVMSupport.a lib/libLLVMTargetParser.a lib/libLLVMM68kCodeGen.a lib/libLLVMM68kDesc.a lib/libLLVMM68kInfo.a lib/libLLVMAsmPrinter.a lib/libLLVMGlobalISel.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMCGData.a lib/libLLVMBitWriter.a lib/libLLVMObjCARCOpts.a lib/libLLVMScalarOpts.a lib/libLLVMAggressiveInstCombine.a lib/libLLVMInstCombine.a lib/libLLVMTransformUtils.a lib/libLLVMTarget.a lib/libLLVMAnalysis.a lib/libLLVMProfileData.a lib/libLLVMSymbolize.a lib/libLLVMDebugInfoDWARF.a lib/libLLVMDebugInfoPDB.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a lib/libLLVMDebugInfoBTF.a lib/libLLVMCodeGenTypes.a lib/libLLVMMCDisassembler.a lib/libLLVMObject.a lib/libLLVMMCParser.a lib/libLLVMMC.a lib/libLLVMIRReader.a lib/libLLVMAsmParser.a lib/libLLVMTextAPI.a lib/libLLVMOption.a lib/libLLVMBitReader.a lib/libLLVMCore.a lib/libLLVMBinaryFormat.a lib/libLLVMRemarks.a lib/libLLVMTargetParser.a lib/libLLVMBitstreamReader.a lib/libLLVMSupport.a lib/libLLVMDemangle.a -lrt -ldl -lm /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libzstd.so && :
lib/libLLVMXtensaAsmParser.a(XtensaAsmParser.cpp.o):XtensaAsmParser.cpp:function XtensaAsmParser::parseRegister(llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand> > >&, bool, bool):(.text._ZN15XtensaAsmParser13parseRegisterERN4llvm15SmallVectorImplISt10unique_ptrINS0_18MCParsedAsmOperandESt14default_deleteIS3_EEEEbb+0x353): error: undefined reference to 'llvm::checkRegister(llvm::MCRegister, llvm::FeatureBitset const&)'
lib/libLLVMXtensaAsmParser.a(XtensaAsmParser.cpp.o):XtensaAsmParser.cpp:function XtensaAsmParser::ParseInstructionWithSR(llvm::ParseInstructionInfo&, llvm::StringRef, llvm::SMLoc, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand> > >&):(.text._ZN15XtensaAsmParser22ParseInstructionWithSRERN4llvm20ParseInstructionInfoENS0_9StringRefENS0_5SMLocERNS0_15SmallVectorImplISt10unique_ptrINS0_18MCParsedAsmOperandESt14default_deleteIS7_EEEE+0x230): error: undefined reference to 'llvm::checkRegister(llvm::MCRegister, llvm::FeatureBitset const&)'
collect2: error: ld returned 1 exit status
```
Regression range:
0f9e91346698..cdd321462aec
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMWF9v6jgW_zTmxTIKDqTwwANNoELqP0HvZXdfKic-Cd46dsZ2OuV--pUTKIXAnbuzK81IEJJzfP7_cnwMs1YUCmCKRrdolPRY7bbaTO1OvoN1Bnqp5rvpk8JSqPoDs5JHQxTOUNB8omD_aR4Xs-X9PEHhDKdCIbqQ8r0kzHhmOMOIRohGGNFFbQ2ii3ZNgegtoreY5EoTXQpHcsNKIJUWyoHBpDzQJbD8nJlbx7I3UhntIHPaEOuMVsUnI5PMbg9soRUmm1ybkjlMNmCMNihMWgKxkNVGuB0meZafiihNalVb4CTTZckUJ1IoIMwUdQnK6-LMAXGiBEyS18XT6mW5-Ofr-unbKp6jMAkxyZ-XcRujhZIpJzLShFBpK1or-buwIhVSuB0RyhuwZCs4B_XF1y92vC4pcvBPhFvAZMOk9Gs_nGEnXlfMZ61J2OZ3Ixz4NAlVWEw2GbOO_FYz2UqUwlqhCpILkJwIJZxgUvwAYzGpgDeetyulVkVzwWQjykqKzNeOSem2RtfFdq-P7VIgtTpq4i1DaaVqubfqy2RJCSXLMrC2JRrgtfIWSanfoaVVYK0oxQ_v4pGqNHxkUDnidpUncZDgwJsg78K4mknCnfbR27oowDqi38EYwffyvqptHdsMSGDcWxCKg3Jsj4LMMf4Zj62rShvno8m5YIXS1onMkkxLbyjPa9Wgx8PK_1q_jjl28gxpXZDKQC4-SMkqFCb-taiF5IgurK5NBgcC8e8SCpN-H9HFr8uiMMHER8iUViJjci8C3n4uJPxJ878m-jPrTyEmyWMyv_12h8lGIhqTH4jGBqTRBwJpbQuf5NoCkRyFSaElxxh_rimyY06d1tJ-aTx0ET-wN1gICV_IfS7Ml6esqvr6T4kSbsQ7HDQQfdr2Dh6airktojGiFI1iRIdPq-Xd8hHRRZNNKVLfTynF2N82hPv77w8P0fhtZstnZiyYPjtl_sOBsuwr-4w_jq7KesUJ2Kwr1Ci9zBpHe3pH1VLl-oqqy6xxtKefkG-FYma3aHpxRybWBjrEREpftKStwZm6e5F-Mk45T-m_IeuaWLcv9LmeF2YKcFey7MOPNYc7UBd5_1XKfL1Msyd0WHdSp0wu1yDPta1BtthPZncXsnbZtfguYY51C-A2fm-4mLF4toqfKme7acuYZGbPOo2nKIzv1u-wVNbFukyF6hbxlHeaesOU9ZvzNydk13JbmW4aFZM7KzruPBvtm9Y-8rMgdmWq_d7UxZhvs75cyWa2Wpzr_OQ-J7fXRX0Zvgv4_ar0w3pxXfr2pWN2X9eXXQXdtDzEibDMWihT-TP0nwldQ3jcrdhqBYx337jrzegFPtzsedn1pfLIvYDDTwO_0AXO-sYJbwUlM2_XoHPF21vh_NzLysthHvvEecFKpgrZOEikcf7Kpb-Wx5G3lfgYR6_RkDQDNSlU3TJ-9K3Gv7jUOu5XHybqZhz_-f6A6Pic1uxaiE5QOLvAQuHsMMPgM7a3F84qf7-CQlgHBtFxOyF4zrpkUn5v5vFlWUkUxtbxllUr8VsNr5UzKIyPEnv88ZktnyowTHFEY_wpxSFntXSv7Vz3R5LhHO-_TX5inGotj7-TZrcd9x18uP7rvx4Ho7PwBuFJaPPV49DbG4zO4lqu3SA4BrR8XAevg3HXofnaDYanISzX4et8Pp-nKaK3wUc4Clu_8H7On-FacciFAo4N5GBAZYCdr_jNMfZsC9nbxQo8xEdyjI_0BTBXG_AQB4czraxrcjRB9OYvgFBz73cAUzerNsJt16uTSM6X-Ja4L-sXwDWnmRXkZ-SHe52dkf5W0PxDKFJ6OUUHTNLgUn7mHomTz6Q0j6MmGfNVA9L_K5JvGiQ3OKZh8LfAcaalH4voiSfSu-Bq430ZYPgQDlvHXG27_2OsoB1dtMKGqQLaBhvkE5gMwmEUTcb9fsZ5SAfDiDLIenwa8kk4YT2YDm7Cm-GETqJRbztlaT4ZhJOMjXM6pJSy6Can-TAf30SMZhPaE1Ma0FEwoAMajKJg1IcgCkZ5MAwGIwg4UDQMoGRC9n3wfW2KnrC2humAhuPBTU-yFKRt_ruhtD0tVUanEsrmtJH0zLQ5jaR1YdEwkMI6e1TlhJMwzZmQ_uiEpVBvGEXB_1C8KOjVRk63zlW2AfcC0UUh3LZO-5ku94ejwxmpMtpPI4gumqD8OWsf1_uU_icAAP__Zg45Pw">