On Wed, 14 May 2025 10:28:39 -0700 (PDT)
Jeremy Drake wrote:
> On Wed, 14 May 2025, Takashi Yano via Cygwin-apps wrote:
>
> > I pushed updated llvm, clang, libcxx, libcxxabi, compiler-rt,
> > libunwind, and lld packages.
>
> For the lld push, you did not include the added patch file. But I suspect
> that I would be against it. The issue is that lld does not have the
> ability to differentiate a Cygwin vs MinGW target, so any prior attempts I
> have made to try to adapt defaults to Cygwin has broken MinGW.
> Specifically, a prior patch in MSYS2 to add win32api lib resulted in
> libraries from that path getting mixed into cross MinGW links. It seems
> like that should be able to be dealt with somehow (it must have some way
> to know not to put /usr/lib in the search path in such cases) so maybe you
> figured out a better solution in that patch.
The patch missig from repository I have added is as attached.
I thought we should add /usr/lib/w32ap at the same place
where /usr/lib is added. But I could not find.
--
Takashi Yano <[email protected]>
--- origsrc/lld-20.1.4.src/MinGW/Driver.cpp 2025-05-06 14:46:22.679452100
+0900
+++ src/lld-20.1.4.src/MinGW/Driver.cpp 2025-05-14 15:40:37.968617300 +0900
@@ -556,6 +556,8 @@ bool link(ArrayRef<const char *> argsArr
add("-exclude-symbols:" + StringRef(a->getValue()));
std::vector<StringRef> searchPaths;
+ if (Triple(sys::getProcessTriple()).isWindowsCygwinEnvironment())
+ searchPaths.push_back("/usr/lib/w32api");
for (auto *a : args.filtered(OPT_L)) {
searchPaths.push_back(a->getValue());
add("-libpath:" + StringRef(a->getValue()));