[ITA] llvm
Jeremy Drake
cygwin@jdrake.com
Fri Jul 18 05:25:56 GMT 2025
On Fri, 18 Jul 2025, Takashi Yano via Cygwin-apps wrote:
> On Thu, 17 Jul 2025 22:06:40 -0700 (PDT)
> Jeremy Drake wrote:
> > On Fri, 18 Jul 2025, Takashi Yano via Cygwin-apps wrote:
> >
> > > On Thu, 17 Jul 2025 17:24:04 -0700 (PDT)
> > > Jeremy Drake <cygwin@jdrake.com> wrote:
> > >
> > > > On Tue, 15 Jul 2025, Takashi Yano via Cygwin-apps wrote:
> > > >
> > > > > On Fri, 11 Jul 2025 16:16:09 -0700 (PDT)
> > > > > Jeremy Drake <cygwin@jdrake.com> wrote:
> > > > >
> > > > > > On Fri, 11 Jul 2025, Takashi Yano via Cygwin-apps wrote:
> > > > > >
> > > > > > > BTW, I just realized we haven’t submitted the ITP for lld yet.
> > > > > > > Jeremy, would you like to do it? Or shall I do that?
> > > > > > > I'm asking because I did not contribute anything for lld.
> > > > > >
> > > > > > I sent something. I was holding off because it can't be built yet until
> > > > > > llvm is updated.
> > > > >
> > > > > Thanks! I've updated the maintainer as folows.
> > > > > +clang Jeremy Drake/Takashi Yano
> > > > > +compiler-rt Takashi Yano
> > > > > +libcxx Takashi Yano
> > > > > +libcxxabi Takashi Yano
> > > > > +libunwind Takashi Yano
> > > > > +lld Jeremy Drake
> > > > > +llvm Jeremy Drake/Takashi Yano
> > > > >
> > > > >
> > > >
> > > > I pushed the playground lld branch as master to lld.
> > >
> > > I tried lld in the master branch. clang can work with
> > > lld without -L/usr/lib/w32api. However, g++ cannot.
> > >
> > > $ clang++ -fuse-ld=lld hello.cc
> > > $ g++ -fuse-ld=lld hello.cc
> > > lld: error: unable to find library -ladvapi32
> > > lld: error: unable to find library -lshell32
> > > lld: error: unable to find library -luser32
> > > lld: error: unable to find library -lkernel32
> > > collect2: error: ld returned 1 exit status
> > > $
> > >
> > > Is this intentional behaviour?
> > >
> >
> > I think it is,
> > https://maskray.me/blog/2020-12-19-lld-and-gnu-linker-incompatibilities
> >
> > * Default library paths.
> > * GNU ld has default library paths.
> > * ld.lld doesn't. This is intentional so https://reviews.llvm.org/D70048
> > (NetBSD) cannot be accepted.
>
> My understandig is that the patch
> 0207-LLD-add-library-path-w32api.patch
> adds search path /usr/lib/w32api to embedded paths.
>
> So, without -L/usr/lib/w32api lld, can link them regardless
> of compiler (clang++ and g++) invoking lld. Right?
That patch ended up dropped from the PATCH_URI in the lld.cygport. I
don't think it's safe both from the standpoint that it wouldn't respect
sysroot and that it's impossible to tell the difference between a mingw
and cygwin target from within LLD (the process triple is the host).
More information about the Cygwin-apps
mailing list