[clang] [Clang][Driver] Revise Cygwin ToolChain to call linker directly (PR #147960)
Tomohiro Kashiwada via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 10 14:46:31 PDT 2025
kikairoya wrote:
Could you let I know output of `echo | clang -xc - -v` (and some option variants) with patch?
Does this patch consider to use of LLD? ( gcc can use with LLD: `-fuse-ld=lld -L/usr/lib/w32api -Wl,--enable-auto-import,--disable-high-entropy-va,--disable-nxcompat,--wrap,_Znwm,--wrap,_Znam,--wrap,_ZdlPv,--wrap,_ZdaPv,--wrap,_ZnwmRKSt9nothrow_t,--wrap,_ZnamRKSt9nothrow_t,--wrap,_ZdlPvRKSt9nothrow_t,--wrap,_ZdaPvRKSt9nothrow_t,-u,_Znwm,-u,_Znam,-u,_ZdlPv,-u,_ZdaPv,-u,_ZnwmRKSt9nothrow_t,-u,_ZnamRKSt9nothrow_t,-u,_ZdlPvRKSt9nothrow_t,-u,_ZdaPvRKSt9nothrow_t` )
> I was planning to refer to that, MinGW.cpp, and the GCC spec for Cygwin, and see if I could come up with a couple of places where virtual functions could be added to the MinGW::Linker class so that Cygwin::Linker could derive from it and override (I think the "wrap" stuff and list of default libraries)
+1
I think Cygwin-specific driver will not be maintained by others and will diverge and left alone from other platform or components.
But, unfortunately, differences of MinGW and Cygwin are scattered widely so doing that isn't trivial I think.
My hack (copy from MinGW.cpp) may help to see difference between MinGW and Cygwin. https://github.com/kikairoya/llvm-project/blob/cygwin-new-driver/clang/lib/Driver/ToolChains/Cygwin.cpp
https://github.com/llvm/llvm-project/pull/147960
More information about the cfe-commits
mailing list