<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56906>56906</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
lld-link needs to check /wholearchive archive for .res archive members.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Neumann-A
</td>
</tr>
</table>
<pre>
While compiling gtk i get:
```
[11/151] Linking target gtk/gtk-4-1.dll
FAILED: gtk/gtk-4-1.dll gtk/gtk-4-1.pdb
"E:/vcpkg_cache/downloads/tools/clang/clang-14.0.6/bin/lld-link.exe" /MACHINE:x64 /OUT:gtk/gtk-4-1.dll "-INCREMENTAL" "/nologo" "/DEBUG" "/PDB:gtk\gtk-4-1.pdb" "/DLL" "/IMPLIB:gtk\gtk-4.lib" "/WHOLEARCHIVE:gtk\libgtk.a" "/WHOLEARCHIVE:gtk/css\libgtk_css.a" "/WHOLEARCHIVE:gdk\libgdk.a" "/WHOLEARCHIVE:gsk\libgsk.a" "-machine:x64" "-debug" "/LIBPATH:E:/vcpkg_folders/llvm_test/installed/x64-windows/debug/lib" "gtk\libgtk.a" <snip>
lld-link: error: unknown file type: gtk_gtk-win32.res
```
doing:
`dumpbin gtk/libgtk.a /ARCHIVEMEMBERS`
yields:
`Archive member name at 15D6DE: /0 gtk_gtk-win32.res`
<Note>
A build with cl also has:
`Archive member name at 45BDF54: /18176 gtk\gtk_gtk-win32.res`
in the archive. So link seems to correctly handle this case while lld-link does not.
</Note>
Problematic part:
` "/WHOLEARCHIVE:gtk\libgtk.a" `
According to
https://github.com/llvm/llvm-project/blob/e056e74ddae05eadac805c1798b80a214cc57d35/lld/COFF/Driver.cpp#L195-L205
and
https://github.com/llvm/llvm-project/blob/e056e74ddae05eadac805c1798b80a214cc57d35/lld/COFF/Driver.cpp#L278-L286
a .res file in the archive is not handled yet.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNVctu2zoQ_Rp7Q0jQ2_JCC_l1Y8B2gjRtlwElji3WtCiQdNz8_R1K8qvpDXp3DRK-NDw8PHM4KSR7z75XXAAp5aHhgtc7sjN7wskOzCDMB95s4OWDxOt_u2k88f1BsPBjfxDPyIrXe7vPUIWb7Hb8hq0TOb7LhOg2LfLlaj5DyI8Bv6w0rOjPCYK55RAs3spmv3staVkBzpg81UJSpnFspBS2LwWtd-fe8SPXcxOcFrzGVgjm4NX2LvzE_QEhuLbOpw_LjcX_mUR24fHrC04-ksNvgbPcTJ_n6_nmJV9ZAPzDqFoKuZPX-Ww--frPdfo0m_SA8fT2btf41Q3Ycv20Wv6ywRX8Jvz7w-Nqnj8j7W_zSxxG4MCln4ahLFpfgl9x8tkGdsZln-Lqc5i-hjkHTBGvoVP1vMigOO6uQHjNp_zlAWPusruVgoHSbbreDq8GtMExr7WhQgDDMUI6J15j-m1Uj7q4avQbRcKprnkzCOedo85GsDYEpaSyg2O9r9FRZGufgXlvoDfpq80BnhcGrgL9-5fQtkyi_W8fCzseGnRe7-szIWuyXr_1fD2ZP3-54LxzEGjnG4hcoZBvQA5wKECRmh6AUEP8eJbMrGwWzCN3Px8p39NEMTbSwEWMnBRHLhg5cVORUhAqtCQV_RMaUTyZLeKo5-Gn_ii549EZ-D_YoDCmQpgO2iVfJLE5IRrgoImRWIqUgtKId2RTM5uUimtSUg3k1NaqcxoJk6BJLY1LLldEPne37NonJQsBB2p4SRqq7krbHz-veznzEnmytvDJbqUyptGdpW0NQVmPhYt1tbd03zmNkj_werY6CYneXYAXJzCKGKM4AspomXpx6Y_GaZF6NPCjsoxHLIy7Sobt9HFhT5gp1E-5ZdMMgnDlj2NnFXhxxwWFI38Dq2CUIqs0uVWOEuuH7r3dm4HwNp193hl5B0ztEDI_icdx4nmeP2RZyMbhmA4NNwKyixVqANa5p4Jyb215qqSAM_C530rVnU7vnK3xmKMS2f8Wi2t9BFuO4mTsJcMq20ZBmdIiLEfbYMz8aOxFW6DpCOIIuyAZClqA0Bn-E0VT1XAiLYT1YDwb8izwgsBLvRAzGfqpG0AxgpE_9ouyoOE4HUQe2pgL1_JwpdoNVdZSwmKo8aPg2ujrR6o136E07XGIT4-mkirbwPFA69rJh-3hWUv-Xyu_YrA">