From cfe-commits Thu Jul 30 02:58:28 2015 From: Eric Fiselier Date: Thu, 30 Jul 2015 02:58:28 +0000 To: cfe-commits Subject: Re: [libcxx] r243574 - Recommit r243503 "[libcxx] Cleanup CMake configuration and integrate with LLV Message-Id: X-MARC-Message: https://marc.info/?l=cfe-commits&m=143822521001602 > Eric, what part of your change caused this behavior change? Probably, after you've started to execute LLVM CMake modules, > you've modified link flags used to build shared objects, and now they are required to have no unresolved symbols? This is exactly what is happening. HandleLLVMOptions.cmake adds "-Wl,-z,defs" on linux when LLVM_USE_SANITIZER is not specified. We also pick up -ffunction-sections and -fdata-sections. What effect do those have on building with sanitizers? One of the main reasons for this patch was to make it easier for libc++ to support sanitizer configurations. I would like the libc++ build to support each sanitizer configuration. Currently it seems like compiler-rt is better at building libc++ with sanitizers than libc++ is. Would anybody be willing to help with: A) Figuring out the proper flags for building and linking libc++ with each sanitizer. B) Moving some of the compiler-rt CMake logic for building libc++ into libc++ if applicable. /Eric On Wed, Jul 29, 2015 at 8:54 PM, Alexey Samsonov wrote: > I've submitted r243599 that slightly improves things: now libcxx can be > configured with "Clang+TSan", but the build fails with a bunch of > "undefined reference to `__tsan_read8'" > errors when we are trying to link libc++.so. > > Generally, we *don't* link in TSan runtime into shared objects - it should > only be linked into the executable, and __tsan_* symbols should be > left unresolved. Eric, what part of your change caused this behavior change? > Probably, after you've started to execute LLVM CMake modules, > you've modified link flags used to build shared objects, and now they are > required to have no unresolved symbols? > > On Wed, Jul 29, 2015 at 5:21 PM, Alexey Samsonov wrote: >> >> I think I've found the "problem", causing CMake identification of Clang >> version. I will submit it shortly. >> >> On Wed, Jul 29, 2015 at 4:50 PM, Kostya Serebryany wrote: >>> >>> Thanks, check-msan works for me again. >>> >>> >>> >>> On Wed, Jul 29, 2015 at 4:47 PM, Eric Fiselier wrote: >>>> >>>> Reverted as r243593. >> >> >> >> >> -- >> Alexey Samsonov >> vonosmas@gmail.com > > > > > -- > Alexey Samsonov > vonosmas@gmail.com _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits