[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

David Blaikie dblaikie at gmail.com
Wed Dec 19 00:15:00 PST 2012


On Wed, Dec 19, 2012 at 12:11 AM, Dmitry Vyukov <dvyukov at google.com> wrote:
> On Wed, Dec 19, 2012 at 11:57 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> On Tue, Dec 18, 2012 at 11:51 PM, Kostya Serebryany <kcc at google.com>
>> wrote:
>> >
>> >
>> > On Wed, Dec 19, 2012 at 11:45 AM, David Blaikie <dblaikie at gmail.com>
>> > wrote:
>> >>
>> >> On Tue, Dec 18, 2012 at 11:39 PM, Kostya Serebryany <kcc at google.com>
>> >> wrote:
>> >> >
>> >> >
>> >> > On Wed, Dec 19, 2012 at 11:31 AM, David Blaikie <dblaikie at gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> On Tue, Dec 18, 2012 at 11:26 PM, Dmitry Vyukov <dvyukov at google.com>
>> >> >> wrote:
>> >> >> > On Wed, Dec 19, 2012 at 11:05 AM, David Blaikie
>> >> >> > <dblaikie at gmail.com>
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> On Tue, Dec 18, 2012 at 11:03 PM, Dmitry Vyukov
>> >> >> >> <dvyukov at google.com>
>> >> >> >> wrote:
>> >> >> >> > Hi,
>> >> >> >> >
>> >> >> >> > I've fixed the -Wgnu warnings and added -Wgnu to our presubmit
>> >> >> >> > checks:
>> >> >> >>
>> >> >> >> Thanks - though, I'm confused, why would you need to add -Wgnu
>> >> >> >> anywhere? I was already seeing these warnings (as errors) with
>> >> >> >> Clang
>> >> >> >> ToT.
>> >> >> >>
>> >> >> >
>> >> >> > Normal build does not do all the checks we need (e.g. check for
>> >> >> > large
>> >> >> > stack
>> >> >> > frames, build with both gcc and clang, build Go runtime syso file,
>> >> >> > check
>> >> >> > lint warnings, check parameters of generated machine code, etc).
>> >> >>
>> >> >> Rather than adding things incrementally to your custom build -
>> >> >> perhaps
>> >> >> it'd be best to invoke the actual build from your custom build to
>> >> >> verify that it's still clean? (granted I run the CMake + Ninja
>> >> >> build,
>> >> >> and as with the rest of the LLVM project, it's not expected that
>> >> >> developers verify both kinds of builds at all times, but both the
>> >> >> CMake and configure+make builds are kept in sync by their
>> >> >> maintainers
>> >> >> to the best of their ability so keeping one clean should keep the
>> >> >> other clean assuming you're not directly touching the build files -
>> >> >> so
>> >> >> running at least one of these in your build validation pipeline
>> >> >> would
>> >> >> be rather helpful, rather than trying to replicate the specific flag
>> >> >> set, etc, there)
>> >> >
>> >> >
>> >> > Alexey is going to add a clang self-hosting build to our bots
>> >> > (post-commit
>> >> > checking).
>> >> > Our scripts in tsan-rt do tsan-specific pre-commit checking for
>> >> > tsan-rt
>> >> > only.
>> >>
>> >> Sorry, I'm still a bit confused/missing something. Essentially what
>> >> I'm trying to understand/correct is:
>> >>
>> >> what did I do to build compiler-rt that's different from what you guys
>> >> are doing?
>> >>
>> >> My assumption is it's just that I'm selfhosting Clang and you aren't.
>> >
>> >
>> > Correct. We mostly used the default build settings which imply using gcc
>> > as
>> > the host compiler.
>> > If we start using clang as the host compiler, we may break the gcc-based
>> > build as easily.
>> > If we start using both it will slowdown the local testing time. Still
>> > possible.
>> > Does anyone else use both gcc and clang before commits?
>>
>> I don't believe so. From my perspective it's the second class citizen
>> that can be relegated to post-commit build bot coverage & Clang is the
>> one I expect people not to break. (at least on our team that's the
>> default: 'recent' built Clang used as the compiler with -Werror
>> enabled)
>
>
>
> 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?

>
>
>>
>>
>> This helps us catch/cleanup build breaks that would fail internal
>> builds sooner rather than later, since Clang's warnings-as-errors tend
>> to turn up relatively frequently (which, to be fair, indicates that
>> other people aren't doing this - perhaps because they're using gcc
>> which is giving us coverage there, so suggesting everyone switch to
>> clang + -Werror could produce the scenario you're describing) compared
>> to other breakage.
>>
>> - David
>>
>> >
>> > --kcc
>> >
>> >
>> >>
>> >> My suggestion is that you selfhost (with -Werror) so you get the same
>> >> errors sooner & it'd be easy not to break the build in this way -
>> >> rather than waiting for bots or pre-commit checks, etc. (this advice
>> >> would apply to anyone on any LLVM project, it's not specific to
>> >> compiler-rt's unique build features or scripts)
>> >>
>> >> Am I missing something?
>> >>
>> >> - David
>> >>
>> >> >
>> >> > --kcc
>> >> >
>> >> >>
>> >> >>
>> >> >> >
>> >> >> >
>> >> >> >>
>> >> >> >> > http://llvm.org/viewvc/llvm-project?view=rev&revision=170499
>> >> >> >> >
>> >> >> >> > Thanks!
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > On Wed, Dec 19, 2012 at 7:46 AM, David Blaikie
>> >> >> >> > <dblaikie at gmail.com>
>> >> >> >> > wrote:
>> >> >> >> >>
>> >> >> >> >> On Tue, Dec 18, 2012 at 7:30 PM, Kostya Serebryany
>> >> >> >> >> <kcc at google.com>
>> >> >> >> >> wrote:
>> >> >> >> >> > That's because by default we are building the run-time with
>> >> >> >> >> > the
>> >> >> >> >> > host
>> >> >> >> >> > compiler (gcc) and don't see this.
>> >> >> >> >> > Alexey, what's the story about using the fresh clang for
>> >> >> >> >> > compiler-rt?
>> >> >> >> >>
>> >> >> >> >> While that would/will be nice, at the very least we try to
>> >> >> >> >> keep
>> >> >> >> >> the
>> >> >> >> >> build clean even for normal components (like Clang & LLVM,
>> >> >> >> >> that
>> >> >> >> >> can't
>> >> >> >> >> be built with the fresh clang, obviously) building clean with
>> >> >> >> >> Clang
>> >> >> >> >> ToT regardless. (obviously some version skew occurs rarely,
>> >> >> >> >> but
>> >> >> >> >> generally most people develop with a release build of Clang
>> >> >> >> >> from
>> >> >> >> >> ToT
>> >> >> >> >> that they refresh from time to time)
>> >> >> >> >>
>> >> >> >> >> Since your work goes beyond compiler-rt & involves LLVM
>> >> >> >> >> changes
>> >> >> >> >> as
>> >> >> >> >> well, I'd suggest you'll probably want to address the workflow
>> >> >> >> >> &
>> >> >> >> >> prefer building/developing with Clang to help ensure this
>> >> >> >> >> invariant
>> >> >> >> >> both for compiler-rt (until you get the fresh-built clang
>> >> >> >> >> usage
>> >> >> >> >> in
>> >> >> >> >> the
>> >> >> >> >> build system) and for LLVM/Clang/etc.
>> >> >> >> >>
>> >> >> >> >> - David
>> >> >> >> >>
>> >> >> >> >> >
>> >> >> >> >> > --kcc
>> >> >> >> >> >
>> >> >> >> >> >
>> >> >> >> >> > On Wed, Dec 19, 2012 at 3:50 AM, David Blaikie
>> >> >> >> >> > <dblaikie at gmail.com>
>> >> >> >> >> > wrote:
>> >> >> >> >> >>
>> >> >> >> >> >> On Tue, Dec 18, 2012 at 4:35 AM, Dmitry Vyukov
>> >> >> >> >> >> <dvyukov at google.com>
>> >> >> >> >> >> wrote:
>> >> >> >> >> >> > Author: dvyukov
>> >> >> >> >> >> > Date: Tue Dec 18 06:35:31 2012
>> >> >> >> >> >> > New Revision: 170429
>> >> >> >> >> >> >
>> >> >> >> >> >> > URL:
>> >> >> >> >> >> > http://llvm.org/viewvc/llvm-project?rev=170429&view=rev
>> >> >> >> >> >> > Log:
>> >> >> >> >> >> > tsan: add signalfd() and inotify_init() interceptors
>> >> >> >> >> >> >
>> >> >> >> >> >> > Modified:
>> >> >> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc
>> >> >> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h
>> >> >> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
>> >> >> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc
>> >> >> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h
>> >> >> >> >> >> >
>> >> >> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc
>> >> >> >> >> >> > URL:
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc?rev=170429&r1=170428&r2=170429&view=diff
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > ==============================================================================
>> >> >> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc (original)
>> >> >> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc Tue Dec 18
>> >> >> >> >> >> > 06:35:31
>> >> >> >> >> >> > 2012
>> >> >> >> >> >> > @@ -90,11 +90,12 @@
>> >> >> >> >> >> >    FdDesc *d = fddesc(thr, pc, fd);
>> >> >> >> >> >> >    // As a matter of fact, we don't intercept all close
>> >> >> >> >> >> > calls.
>> >> >> >> >> >> >    // See e.g. libc __res_iclose().
>> >> >> >> >> >> > -  if (d->sync)
>> >> >> >> >> >> > +  if (d->sync) {
>> >> >> >> >> >> >      unref(thr, pc, d->sync);
>> >> >> >> >> >> > +    d->sync = 0;
>> >> >> >> >> >> > +  }
>> >> >> >> >> >> >    if (flags()->io_sync == 0) {
>> >> >> >> >> >> >      unref(thr, pc, s);
>> >> >> >> >> >> > -    d->sync = 0;
>> >> >> >> >> >> >    } else if (flags()->io_sync == 1) {
>> >> >> >> >> >> >      d->sync = s;
>> >> >> >> >> >> >    } else if (flags()->io_sync == 2) {
>> >> >> >> >> >> > @@ -189,6 +190,16 @@
>> >> >> >> >> >> >    init(thr, pc, fd, allocsync());
>> >> >> >> >> >> >  }
>> >> >> >> >> >> >
>> >> >> >> >> >> > +void FdSignalCreate(ThreadState *thr, uptr pc, int fd) {
>> >> >> >> >> >> > +  DPrintf("#%d: FdSignalCreate(%d)\n", thr->tid, fd);
>> >> >> >> >> >> > +  init(thr, pc, fd, 0);
>> >> >> >> >> >> > +}
>> >> >> >> >> >> > +
>> >> >> >> >> >> > +void FdInotifyCreate(ThreadState *thr, uptr pc, int fd)
>> >> >> >> >> >> > {
>> >> >> >> >> >> > +  DPrintf("#%d: FdInotifyCreate(%d)\n", thr->tid, fd);
>> >> >> >> >> >> > +  init(thr, pc, fd, 0);
>> >> >> >> >> >> > +}
>> >> >> >> >> >> > +
>> >> >> >> >> >> >  void FdPollCreate(ThreadState *thr, uptr pc, int fd) {
>> >> >> >> >> >> >    DPrintf("#%d: FdPollCreate(%d)\n", thr->tid, fd);
>> >> >> >> >> >> >    init(thr, pc, fd, allocsync());
>> >> >> >> >> >> >
>> >> >> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h
>> >> >> >> >> >> > URL:
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h?rev=170429&r1=170428&r2=170429&view=diff
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > ==============================================================================
>> >> >> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h (original)
>> >> >> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h Tue Dec 18
>> >> >> >> >> >> > 06:35:31
>> >> >> >> >> >> > 2012
>> >> >> >> >> >> > @@ -46,6 +46,8 @@
>> >> >> >> >> >> >  void FdDup(ThreadState *thr, uptr pc, int oldfd, int
>> >> >> >> >> >> > newfd);
>> >> >> >> >> >> >  void FdPipeCreate(ThreadState *thr, uptr pc, int rfd,
>> >> >> >> >> >> > int
>> >> >> >> >> >> > wfd);
>> >> >> >> >> >> >  void FdEventCreate(ThreadState *thr, uptr pc, int fd);
>> >> >> >> >> >> > +void FdSignalCreate(ThreadState *thr, uptr pc, int fd);
>> >> >> >> >> >> > +void FdInotifyCreate(ThreadState *thr, uptr pc, int fd);
>> >> >> >> >> >> >  void FdPollCreate(ThreadState *thr, uptr pc, int fd);
>> >> >> >> >> >> >  void FdSocketCreate(ThreadState *thr, uptr pc, int fd);
>> >> >> >> >> >> >  void FdSocketAccept(ThreadState *thr, uptr pc, int fd,
>> >> >> >> >> >> > int
>> >> >> >> >> >> > newfd);
>> >> >> >> >> >> >
>> >> >> >> >> >> > Modified:
>> >> >> >> >> >> > compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
>> >> >> >> >> >> > URL:
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc?rev=170429&r1=170428&r2=170429&view=diff
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > ==============================================================================
>> >> >> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
>> >> >> >> >> >> > (original)
>> >> >> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
>> >> >> >> >> >> > Tue
>> >> >> >> >> >> > Dec
>> >> >> >> >> >> > 18
>> >> >> >> >> >> > 06:35:31 2012
>> >> >> >> >> >> > @@ -1128,6 +1128,31 @@
>> >> >> >> >> >> >    return fd;
>> >> >> >> >> >> >  }
>> >> >> >> >> >> >
>> >> >> >> >> >> > +TSAN_INTERCEPTOR(int, signalfd, int fd, void *mask, int
>> >> >> >> >> >> > flags)
>> >> >> >> >> >> > {
>> >> >> >> >> >> > +  SCOPED_TSAN_INTERCEPTOR(signalfd, fd, mask, flags);
>> >> >> >> >> >> > +  FdClose(thr, pc, fd);
>> >> >> >> >> >> > +  fd = REAL(signalfd)(fd, mask, flags);
>> >> >> >> >> >> > +  if (fd >= 0)
>> >> >> >> >> >> > +    FdSignalCreate(thr, pc, fd);
>> >> >> >> >> >> > +  return fd;
>> >> >> >> >> >> > +}
>> >> >> >> >> >> > +
>> >> >> >> >> >> > +TSAN_INTERCEPTOR(int, inotify_init) {
>> >> >> >> >> >>
>> >> >> >> >> >> This (& some other recent commits) seems to be breaking a
>> >> >> >> >> >> clang
>> >> >> >> >> >> self-hosting -Werror build:
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> llvm/src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1140:35:
>> >> >> >> >> >> error: must specify at least one argument for '...'
>> >> >> >> >> >> parameter
>> >> >> >> >> >> of
>> >> >> >> >> >> variadic macro [-Werror,-Wgnu]
>> >> >> >> >> >> TSAN_INTERCEPTOR(int, inotify_init) {
>> >> >> >> >> >>                                   ^
>> >> >> >> >> >>
>> >> >> >> >> >> Could you fix/revert ASAP, please?
>> >> >> >> >> >>
>> >> >> >> >> >> Thanks,
>> >> >> >> >> >> - David
>> >> >> >> >> >>
>> >> >> >> >> >> > +  SCOPED_TSAN_INTERCEPTOR(inotify_init);
>> >> >> >> >> >> > +  int fd = REAL(inotify_init)();
>> >> >> >> >> >> > +  if (fd >= 0)
>> >> >> >> >> >> > +    FdInotifyCreate(thr, pc, fd);
>> >> >> >> >> >> > +  return fd;
>> >> >> >> >> >> > +}
>> >> >> >> >> >> > +
>> >> >> >> >> >> > +TSAN_INTERCEPTOR(int, inotify_init1, int flags) {
>> >> >> >> >> >> > +  SCOPED_TSAN_INTERCEPTOR(inotify_init1, flags);
>> >> >> >> >> >> > +  int fd = REAL(inotify_init1)(flags);
>> >> >> >> >> >> > +  if (fd >= 0)
>> >> >> >> >> >> > +    FdInotifyCreate(thr, pc, fd);
>> >> >> >> >> >> > +  return fd;
>> >> >> >> >> >> > +}
>> >> >> >> >> >> > +
>> >> >> >> >> >> >  TSAN_INTERCEPTOR(int, socket, int domain, int type, int
>> >> >> >> >> >> > protocol)
>> >> >> >> >> >> > {
>> >> >> >> >> >> >    SCOPED_TSAN_INTERCEPTOR(socket, domain, type,
>> >> >> >> >> >> > protocol);
>> >> >> >> >> >> >    int fd = REAL(socket)(domain, type, protocol);
>> >> >> >> >> >> > @@ -1743,6 +1768,9 @@
>> >> >> >> >> >> >    TSAN_INTERCEPT(dup2);
>> >> >> >> >> >> >    TSAN_INTERCEPT(dup3);
>> >> >> >> >> >> >    TSAN_INTERCEPT(eventfd);
>> >> >> >> >> >> > +  TSAN_INTERCEPT(signalfd);
>> >> >> >> >> >> > +  TSAN_INTERCEPT(inotify_init);
>> >> >> >> >> >> > +  TSAN_INTERCEPT(inotify_init1);
>> >> >> >> >> >> >    TSAN_INTERCEPT(socket);
>> >> >> >> >> >> >    TSAN_INTERCEPT(socketpair);
>> >> >> >> >> >> >    TSAN_INTERCEPT(connect);
>> >> >> >> >> >> >
>> >> >> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc
>> >> >> >> >> >> > URL:
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc?rev=170429&r1=170428&r2=170429&view=diff
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > ==============================================================================
>> >> >> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc
>> >> >> >> >> >> > (original)
>> >> >> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc Tue Dec
>> >> >> >> >> >> > 18
>> >> >> >> >> >> > 06:35:31
>> >> >> >> >> >> > 2012
>> >> >> >> >> >> > @@ -189,6 +189,9 @@
>> >> >> >> >> >> >    name[StatInt_dup2]                     = "  dup2
>> >> >> >> >> >> > ";
>> >> >> >> >> >> >    name[StatInt_dup3]                     = "  dup3
>> >> >> >> >> >> > ";
>> >> >> >> >> >> >    name[StatInt_eventfd]                  = "  eventfd
>> >> >> >> >> >> > ";
>> >> >> >> >> >> > +  name[StatInt_signalfd]                 = "  signalfd
>> >> >> >> >> >> > ";
>> >> >> >> >> >> > +  name[StatInt_inotify_init]             = "
>> >> >> >> >> >> > inotify_init
>> >> >> >> >> >> > ";
>> >> >> >> >> >> > +  name[StatInt_inotify_init1]            = "
>> >> >> >> >> >> > inotify_init1
>> >> >> >> >> >> > ";
>> >> >> >> >> >> >    name[StatInt_socket]                   = "  socket
>> >> >> >> >> >> > ";
>> >> >> >> >> >> >    name[StatInt_socketpair]               = "  socketpair
>> >> >> >> >> >> > ";
>> >> >> >> >> >> >    name[StatInt_connect]                  = "  connect
>> >> >> >> >> >> > ";
>> >> >> >> >> >> >
>> >> >> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h
>> >> >> >> >> >> > URL:
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h?rev=170429&r1=170428&r2=170429&view=diff
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > ==============================================================================
>> >> >> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h (original)
>> >> >> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h Tue Dec 18
>> >> >> >> >> >> > 06:35:31
>> >> >> >> >> >> > 2012
>> >> >> >> >> >> > @@ -184,6 +184,9 @@
>> >> >> >> >> >> >    StatInt_dup2,
>> >> >> >> >> >> >    StatInt_dup3,
>> >> >> >> >> >> >    StatInt_eventfd,
>> >> >> >> >> >> > +  StatInt_signalfd,
>> >> >> >> >> >> > +  StatInt_inotify_init,
>> >> >> >> >> >> > +  StatInt_inotify_init1,
>> >> >> >> >> >> >    StatInt_socket,
>> >> >> >> >> >> >    StatInt_socketpair,
>> >> >> >> >> >> >    StatInt_connect,
>> >> >> >> >> >> >
>> >> >> >> >> >> >
>> >> >> >> >> >> > _______________________________________________
>> >> >> >> >> >> > llvm-commits mailing list
>> >> >> >> >> >> > llvm-commits at cs.uiuc.edu
>> >> >> >> >> >> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> >> >> >> >> >> _______________________________________________
>> >> >> >> >> >> llvm-commits mailing list
>> >> >> >> >> >> llvm-commits at cs.uiuc.edu
>> >> >> >> >> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> >> >> >> >> >
>> >> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >
>> >> >> >
>> >> >
>> >> >
>> >
>> >
>
>



More information about the llvm-commits mailing list