smeenai added inline comments.

================
Comment at: lib/Driver/ToolChains/MinGW.cpp:266
+          // directives in the object files, but the static library needs
+          // -lpsapi unless the sanitizer was built targeting >= win7.
+          CmdArgs.push_back("-lpsapi");
----------------
rnk wrote:
> mstorsjo wrote:
> > smeenai wrote:
> > > Isn't Windows 7 our minimum supported Windows version anyway? I can't 
> > > find the documentation pointing to that, but I thought that was the 
> > > policy. In particular, we require VS 2015 or above, which doesn't support 
> > > anything older than Server 2008 anyway (including Vista and XP), and I 
> > > doubt we'd have anyone using Server 2008.
> > For llvm itself, yes, but this is for the runtimes. Or does the policy 
> > cover that as well?
> > 
> > Mingw upstream still(!) default to supporting xp onwards, while I'm 
> > configuring my own setups to default to vista. I guess making that 7 
> > wouldn't be too much of an issue though.
> > 
> > FWIW, I included a corresponding change for ASAN here: 
> > https://reviews.llvm.org/rCRT343074, in adding a `append_list_if(MINGW 
> > psapi ASAN_DYNAMIC_LIBS)` in compiler-rt/trunk/lib/asan/CMakeLists.txt.
> I think most of our policies have to do with LLVM's own build requirements. 
> Clang has supported targeting older OSs for a while, and we shouldn't 
> intentionally break it, at least. We probably don't want to support running 
> the sanitizers on old Windows OSs, since they tend to want to use modern OS 
> APIs. For example, I used the slim reader writer lock APIs in ASan to fix a 
> race.
> 
> In any case, do you think it would be nicer to put this directive in the 
> ubsan object files that use psapi? It seems lame for clang to have to know 
> about what libraries the sanitizers use.
Ah, I wasn't thinking of the LLVM/runtimes distinction. SRWLocks would require 
Vista and above though, and at that point just going for 7 and above would make 
sense.

This is a bit orthogonal to the patch though, so sorry for side-tracking 
things. +1 for Reid's suggestion of embedding the psapi directive in object 
files.


Repository:
  rC Clang

https://reviews.llvm.org/D52990



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to