[llvm-commits] [compiler-rt] r170429 - in /compiler-rt/trunk/lib/tsan/rtl: tsan_fd.cc tsan_fd.h tsan_interceptors.cc tsan_stat.cc tsan_stat.h

Kostya Serebryany kcc at google.com
Wed Dec 19 09:33:23 PST 2012


On Wed, Dec 19, 2012 at 8:31 PM, David Blaikie <dblaikie at gmail.com> wrote:

> On Wed, Dec 19, 2012 at 12:50 AM, Dmitry Vyukov <dvyukov at google.com>
> wrote:
> > On Wed, Dec 19, 2012 at 12:15 PM, David Blaikie <dblaikie at gmail.com>
> wrote:
> >>> I use both gcc and ToT clang for testing. clang -Wall -Werror does not
> catch
> >>> there errors.
> >>
> >> See, now that's where I'm confused/this gets interesting. This turned
> >> up in a cmake build of llvm ("ninja check-all") without any extra
> >> parameters (except to turn on -Werror).
> >>
> >> I can check the make build too - it's possible this is some mismatch
> >> between the two, though I'd be surprised.
> >>
> >> How exactly are you running your builds?
> >
> >
> >
> > $ cd llvm/projects/compiler-rt/lib/tsan
> > $ gcc -v | grep version
> > gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
> > $ clang -v | grep version
> > clang version 3.3 (trunk 170311)
> > $ make -f Makefile.old presubmit &&
> ../sanitizer_common/scripts/check_lint.sh
>
> This last bit is where I'm confused - why are you using a
> separate/different build system from the standard configure or CMake
> builds? Supporting/using a 3rd build system is problematic. Developers
> not using it are liable to break you, and you are liable to break
> other developers using either of the other two.
>
> I guess this may come back to your/Kostya's point that the current
> CMake/configure+make build system doesn't do what you need, which is
> to compile with the fresh-built Clang? & until that happens you aren't
> able to use the standard LLVM project build systems? If that's the
> case, then, yes, that really ought to be addressed & now I understand
> why it's relevant.
>

I think we agreed with Dmitry that we need to build things as most here do
(cmake + clang) to avoid breaking other's builds.
But in *addition* to that we need our own scripting stuff to ensure that
  * tsan-rt builds (and works) with gcc and clang
  * generated code for both compilers have appropriate number of
spills/fills and other instructions in the hotspot, etc
  * tsan tests pass in tsan-rt debug mode (again, both gcc and clang).
  * some more (?)
Adding all these rules to cmake is a bit of a challenge and no one else
needs it anyway.


> (also, if you want linting as a requirement for the project, please
> build that into both the standard build systems as well - otherwise
> people are liable to regress it easily)
>

Yea, we want linting for asan/tsan/msan -rt in cmake.
Will anyone object if we put cpp_lint.py somewhere into the repository?

--kcc



>
> - David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121219/b1ad8182/attachment.html>


More information about the llvm-commits mailing list