<div style="font-family: arial, helvetica, sans-serif; font-size: 10pt"><br><br><div class="gmail_quote">On Wed, Dec 19, 2012 at 11:57 AM, Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div dir="ltr"><div><div class="h5"><div class="gmail_default">
On Tue, Dec 18, 2012 at 11:54 PM, Alexey Samsonov <span dir="ltr"><<a href="mailto:samsonov@google.com" target="_blank">samsonov@google.com</a>></span> wrote:<br>
</div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-family:arial,helvetica,sans-serif;font-size:10pt">

<div><div>On Wed, Dec 19, 2012 at 11:51 AM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>></span> wrote:<br>
</div></div><div class="gmail_quote"><div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-family:arial,helvetica,sans-serif;font-size:10pt">
<br><br><div class="gmail_quote">
<div><div>On Wed, Dec 19, 2012 at 11:45 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On Tue, Dec 18, 2012 at 11:39 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>> wrote:<br>




><br>
><br>
> On Wed, Dec 19, 2012 at 11:31 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br>
>><br>
>> On Tue, Dec 18, 2012 at 11:26 PM, Dmitry Vyukov <<a href="mailto:dvyukov@google.com" target="_blank">dvyukov@google.com</a>><br>
>> wrote:<br>
>> > On Wed, Dec 19, 2012 at 11:05 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> On Tue, Dec 18, 2012 at 11:03 PM, Dmitry Vyukov <<a href="mailto:dvyukov@google.com" target="_blank">dvyukov@google.com</a>><br>
>> >> wrote:<br>
>> >> > Hi,<br>
>> >> ><br>
>> >> > I've fixed the -Wgnu warnings and added -Wgnu to our presubmit<br>
>> >> > checks:<br>
>> >><br>
>> >> Thanks - though, I'm confused, why would you need to add -Wgnu<br>
>> >> anywhere? I was already seeing these warnings (as errors) with Clang<br>
>> >> ToT.<br>
>> >><br>
>> ><br>
>> > Normal build does not do all the checks we need (e.g. check for large<br>
>> > stack<br>
>> > frames, build with both gcc and clang, build Go runtime syso file, check<br>
>> > lint warnings, check parameters of generated machine code, etc).<br>
>><br>
>> Rather than adding things incrementally to your custom build - perhaps<br>
>> it'd be best to invoke the actual build from your custom build to<br>
>> verify that it's still clean? (granted I run the CMake + Ninja build,<br>
>> and as with the rest of the LLVM project, it's not expected that<br>
>> developers verify both kinds of builds at all times, but both the<br>
>> CMake and configure+make builds are kept in sync by their maintainers<br>
>> to the best of their ability so keeping one clean should keep the<br>
>> other clean assuming you're not directly touching the build files - so<br>
>> running at least one of these in your build validation pipeline would<br>
>> be rather helpful, rather than trying to replicate the specific flag<br>
>> set, etc, there)<br>
><br>
><br>
> Alexey is going to add a clang self-hosting build to our bots (post-commit<br>
> checking).<br>
> Our scripts in tsan-rt do tsan-specific pre-commit checking for tsan-rt<br>
> only.<br>
<br>
</div></div>Sorry, I'm still a bit confused/missing something. Essentially what<br>
I'm trying to understand/correct is:<br>
<br>
what did I do to build compiler-rt that's different from what you guys<br>
are doing?<br>
<br>
My assumption is it's just that I'm selfhosting Clang and you aren't.<br></blockquote><div><br></div></div></div><div>Correct. We mostly used the default build settings which imply using gcc as the host compiler. </div>


<div>
If we start using clang as the host compiler, we may break the gcc-based build as easily. </div><div>If we start using both it will slowdown the local testing time. Still possible. </div><div>Does anyone else use both gcc and clang before commits?</div>


</div></div></blockquote><div><br></div></div></div><div>As a first step, we need to buildbots that use gcc and just-build clang with -Werror - I'll handle this.</div><div>We may also switch our own workflow to use "relatively" new Clang as a host compiler (e.g. I do this),</div>


<div>but that's probably optional.</div></div></div></blockquote><div><br></div></div></div><div>Just to be clear, this is also what I and many (if not all) developers do.</div></div></div></div></div></blockquote><div>
<br></div><div>Ok. The simplest solution then is for all of us (tsan/asan folks) to switch to clang builds. </div><div>We'll do this. </div><div><br></div><div>--kcc </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>We're hoping to make it even more common with reasonably automated building and release of debian packages within Google and on the LLVM site. Hopefully Q1 for that.</div>
<div><div class="h5">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div class="gmail_quote"><div><div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-family:arial,helvetica,sans-serif;font-size:10pt">
<div class="gmail_quote">
<div><br></div><div>--kcc </div><div><div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
My suggestion is that you selfhost (with -Werror) so you get the same<br>
errors sooner & it'd be easy not to break the build in this way -<br>
rather than waiting for bots or pre-commit checks, etc. (this advice<br>
would apply to anyone on any LLVM project, it's not specific to<br>
compiler-rt's unique build features or scripts)<br>
<br>
Am I missing something?<br>
<span><font color="#888888"><br>
- David<br>
</font></span><div><div><br>
><br>
> --kcc<br>
><br>
>><br>
>><br>
>> ><br>
>> ><br>
>> >><br>
>> >> > <a href="http://llvm.org/viewvc/llvm-project?view=rev&revision=170499" target="_blank">http://llvm.org/viewvc/llvm-project?view=rev&revision=170499</a><br>
>> >> ><br>
>> >> > Thanks!<br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > On Wed, Dec 19, 2012 at 7:46 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >> On Tue, Dec 18, 2012 at 7:30 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>><br>
>> >> >> wrote:<br>
>> >> >> > That's because by default we are building the run-time with the<br>
>> >> >> > host<br>
>> >> >> > compiler (gcc) and don't see this.<br>
>> >> >> > Alexey, what's the story about using the fresh clang for<br>
>> >> >> > compiler-rt?<br>
>> >> >><br>
>> >> >> While that would/will be nice, at the very least we try to keep the<br>
>> >> >> build clean even for normal components (like Clang & LLVM, that<br>
>> >> >> can't<br>
>> >> >> be built with the fresh clang, obviously) building clean with Clang<br>
>> >> >> ToT regardless. (obviously some version skew occurs rarely, but<br>
>> >> >> generally most people develop with a release build of Clang from ToT<br>
>> >> >> that they refresh from time to time)<br>
>> >> >><br>
>> >> >> Since your work goes beyond compiler-rt & involves LLVM changes as<br>
>> >> >> well, I'd suggest you'll probably want to address the workflow &<br>
>> >> >> prefer building/developing with Clang to help ensure this invariant<br>
>> >> >> both for compiler-rt (until you get the fresh-built clang usage in<br>
>> >> >> the<br>
>> >> >> build system) and for LLVM/Clang/etc.<br>
>> >> >><br>
>> >> >> - David<br>
>> >> >><br>
>> >> >> ><br>
>> >> >> > --kcc<br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> > On Wed, Dec 19, 2012 at 3:50 AM, David Blaikie<br>
>> >> >> > <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
>> >> >> > wrote:<br>
>> >> >> >><br>
>> >> >> >> On Tue, Dec 18, 2012 at 4:35 AM, Dmitry Vyukov<br>
>> >> >> >> <<a href="mailto:dvyukov@google.com" target="_blank">dvyukov@google.com</a>><br>
>> >> >> >> wrote:<br>
>> >> >> >> > Author: dvyukov<br>
>> >> >> >> > Date: Tue Dec 18 06:35:31 2012<br>
>> >> >> >> > New Revision: 170429<br>
>> >> >> >> ><br>
>> >> >> >> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=170429&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=170429&view=rev</a><br>
>> >> >> >> > Log:<br>
>> >> >> >> > tsan: add signalfd() and inotify_init() interceptors<br>
>> >> >> >> ><br>
>> >> >> >> > Modified:<br>
>> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc<br>
>> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h<br>
>> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc<br>
>> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc<br>
>> >> >> >> >     compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h<br>
>> >> >> >> ><br>
>> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc<br>
>> >> >> >> > URL:<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc?rev=170429&r1=170428&r2=170429&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc?rev=170429&r1=170428&r2=170429&view=diff</a><br>




>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > ==============================================================================<br>
>> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc (original)<br>
>> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_fd.cc Tue Dec 18<br>
>> >> >> >> > 06:35:31<br>
>> >> >> >> > 2012<br>
>> >> >> >> > @@ -90,11 +90,12 @@<br>
>> >> >> >> >    FdDesc *d = fddesc(thr, pc, fd);<br>
>> >> >> >> >    // As a matter of fact, we don't intercept all close calls.<br>
>> >> >> >> >    // See e.g. libc __res_iclose().<br>
>> >> >> >> > -  if (d->sync)<br>
>> >> >> >> > +  if (d->sync) {<br>
>> >> >> >> >      unref(thr, pc, d->sync);<br>
>> >> >> >> > +    d->sync = 0;<br>
>> >> >> >> > +  }<br>
>> >> >> >> >    if (flags()->io_sync == 0) {<br>
>> >> >> >> >      unref(thr, pc, s);<br>
>> >> >> >> > -    d->sync = 0;<br>
>> >> >> >> >    } else if (flags()->io_sync == 1) {<br>
>> >> >> >> >      d->sync = s;<br>
>> >> >> >> >    } else if (flags()->io_sync == 2) {<br>
>> >> >> >> > @@ -189,6 +190,16 @@<br>
>> >> >> >> >    init(thr, pc, fd, allocsync());<br>
>> >> >> >> >  }<br>
>> >> >> >> ><br>
>> >> >> >> > +void FdSignalCreate(ThreadState *thr, uptr pc, int fd) {<br>
>> >> >> >> > +  DPrintf("#%d: FdSignalCreate(%d)\n", thr->tid, fd);<br>
>> >> >> >> > +  init(thr, pc, fd, 0);<br>
>> >> >> >> > +}<br>
>> >> >> >> > +<br>
>> >> >> >> > +void FdInotifyCreate(ThreadState *thr, uptr pc, int fd) {<br>
>> >> >> >> > +  DPrintf("#%d: FdInotifyCreate(%d)\n", thr->tid, fd);<br>
>> >> >> >> > +  init(thr, pc, fd, 0);<br>
>> >> >> >> > +}<br>
>> >> >> >> > +<br>
>> >> >> >> >  void FdPollCreate(ThreadState *thr, uptr pc, int fd) {<br>
>> >> >> >> >    DPrintf("#%d: FdPollCreate(%d)\n", thr->tid, fd);<br>
>> >> >> >> >    init(thr, pc, fd, allocsync());<br>
>> >> >> >> ><br>
>> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h<br>
>> >> >> >> > URL:<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h?rev=170429&r1=170428&r2=170429&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h?rev=170429&r1=170428&r2=170429&view=diff</a><br>




>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > ==============================================================================<br>
>> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h (original)<br>
>> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_fd.h Tue Dec 18<br>
>> >> >> >> > 06:35:31<br>
>> >> >> >> > 2012<br>
>> >> >> >> > @@ -46,6 +46,8 @@<br>
>> >> >> >> >  void FdDup(ThreadState *thr, uptr pc, int oldfd, int newfd);<br>
>> >> >> >> >  void FdPipeCreate(ThreadState *thr, uptr pc, int rfd, int<br>
>> >> >> >> > wfd);<br>
>> >> >> >> >  void FdEventCreate(ThreadState *thr, uptr pc, int fd);<br>
>> >> >> >> > +void FdSignalCreate(ThreadState *thr, uptr pc, int fd);<br>
>> >> >> >> > +void FdInotifyCreate(ThreadState *thr, uptr pc, int fd);<br>
>> >> >> >> >  void FdPollCreate(ThreadState *thr, uptr pc, int fd);<br>
>> >> >> >> >  void FdSocketCreate(ThreadState *thr, uptr pc, int fd);<br>
>> >> >> >> >  void FdSocketAccept(ThreadState *thr, uptr pc, int fd, int<br>
>> >> >> >> > newfd);<br>
>> >> >> >> ><br>
>> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc<br>
>> >> >> >> > URL:<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc?rev=170429&r1=170428&r2=170429&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc?rev=170429&r1=170428&r2=170429&view=diff</a><br>




>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > ==============================================================================<br>
>> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc<br>
>> >> >> >> > (original)<br>
>> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc Tue Dec<br>
>> >> >> >> > 18<br>
>> >> >> >> > 06:35:31 2012<br>
>> >> >> >> > @@ -1128,6 +1128,31 @@<br>
>> >> >> >> >    return fd;<br>
>> >> >> >> >  }<br>
>> >> >> >> ><br>
>> >> >> >> > +TSAN_INTERCEPTOR(int, signalfd, int fd, void *mask, int flags)<br>
>> >> >> >> > {<br>
>> >> >> >> > +  SCOPED_TSAN_INTERCEPTOR(signalfd, fd, mask, flags);<br>
>> >> >> >> > +  FdClose(thr, pc, fd);<br>
>> >> >> >> > +  fd = REAL(signalfd)(fd, mask, flags);<br>
>> >> >> >> > +  if (fd >= 0)<br>
>> >> >> >> > +    FdSignalCreate(thr, pc, fd);<br>
>> >> >> >> > +  return fd;<br>
>> >> >> >> > +}<br>
>> >> >> >> > +<br>
>> >> >> >> > +TSAN_INTERCEPTOR(int, inotify_init) {<br>
>> >> >> >><br>
>> >> >> >> This (& some other recent commits) seems to be breaking a clang<br>
>> >> >> >> self-hosting -Werror build:<br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >><br>
>> >> >> >> llvm/src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1140:35:<br>
>> >> >> >> error: must specify at least one argument for '...' parameter of<br>
>> >> >> >> variadic macro [-Werror,-Wgnu]<br>
>> >> >> >> TSAN_INTERCEPTOR(int, inotify_init) {<br>
>> >> >> >>                                   ^<br>
>> >> >> >><br>
>> >> >> >> Could you fix/revert ASAP, please?<br>
>> >> >> >><br>
>> >> >> >> Thanks,<br>
>> >> >> >> - David<br>
>> >> >> >><br>
>> >> >> >> > +  SCOPED_TSAN_INTERCEPTOR(inotify_init);<br>
>> >> >> >> > +  int fd = REAL(inotify_init)();<br>
>> >> >> >> > +  if (fd >= 0)<br>
>> >> >> >> > +    FdInotifyCreate(thr, pc, fd);<br>
>> >> >> >> > +  return fd;<br>
>> >> >> >> > +}<br>
>> >> >> >> > +<br>
>> >> >> >> > +TSAN_INTERCEPTOR(int, inotify_init1, int flags) {<br>
>> >> >> >> > +  SCOPED_TSAN_INTERCEPTOR(inotify_init1, flags);<br>
>> >> >> >> > +  int fd = REAL(inotify_init1)(flags);<br>
>> >> >> >> > +  if (fd >= 0)<br>
>> >> >> >> > +    FdInotifyCreate(thr, pc, fd);<br>
>> >> >> >> > +  return fd;<br>
>> >> >> >> > +}<br>
>> >> >> >> > +<br>
>> >> >> >> >  TSAN_INTERCEPTOR(int, socket, int domain, int type, int<br>
>> >> >> >> > protocol)<br>
>> >> >> >> > {<br>
>> >> >> >> >    SCOPED_TSAN_INTERCEPTOR(socket, domain, type, protocol);<br>
>> >> >> >> >    int fd = REAL(socket)(domain, type, protocol);<br>
>> >> >> >> > @@ -1743,6 +1768,9 @@<br>
>> >> >> >> >    TSAN_INTERCEPT(dup2);<br>
>> >> >> >> >    TSAN_INTERCEPT(dup3);<br>
>> >> >> >> >    TSAN_INTERCEPT(eventfd);<br>
>> >> >> >> > +  TSAN_INTERCEPT(signalfd);<br>
>> >> >> >> > +  TSAN_INTERCEPT(inotify_init);<br>
>> >> >> >> > +  TSAN_INTERCEPT(inotify_init1);<br>
>> >> >> >> >    TSAN_INTERCEPT(socket);<br>
>> >> >> >> >    TSAN_INTERCEPT(socketpair);<br>
>> >> >> >> >    TSAN_INTERCEPT(connect);<br>
>> >> >> >> ><br>
>> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc<br>
>> >> >> >> > URL:<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc?rev=170429&r1=170428&r2=170429&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc?rev=170429&r1=170428&r2=170429&view=diff</a><br>




>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > ==============================================================================<br>
>> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc (original)<br>
>> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_stat.cc Tue Dec 18<br>
>> >> >> >> > 06:35:31<br>
>> >> >> >> > 2012<br>
>> >> >> >> > @@ -189,6 +189,9 @@<br>
>> >> >> >> >    name[StatInt_dup2]                     = "  dup2<br>
>> >> >> >> > ";<br>
>> >> >> >> >    name[StatInt_dup3]                     = "  dup3<br>
>> >> >> >> > ";<br>
>> >> >> >> >    name[StatInt_eventfd]                  = "  eventfd<br>
>> >> >> >> > ";<br>
>> >> >> >> > +  name[StatInt_signalfd]                 = "  signalfd<br>
>> >> >> >> > ";<br>
>> >> >> >> > +  name[StatInt_inotify_init]             = "  inotify_init<br>
>> >> >> >> > ";<br>
>> >> >> >> > +  name[StatInt_inotify_init1]            = "  inotify_init1<br>
>> >> >> >> > ";<br>
>> >> >> >> >    name[StatInt_socket]                   = "  socket<br>
>> >> >> >> > ";<br>
>> >> >> >> >    name[StatInt_socketpair]               = "  socketpair<br>
>> >> >> >> > ";<br>
>> >> >> >> >    name[StatInt_connect]                  = "  connect<br>
>> >> >> >> > ";<br>
>> >> >> >> ><br>
>> >> >> >> > Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h<br>
>> >> >> >> > URL:<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h?rev=170429&r1=170428&r2=170429&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h?rev=170429&r1=170428&r2=170429&view=diff</a><br>




>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > ==============================================================================<br>
>> >> >> >> > --- compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h (original)<br>
>> >> >> >> > +++ compiler-rt/trunk/lib/tsan/rtl/tsan_stat.h Tue Dec 18<br>
>> >> >> >> > 06:35:31<br>
>> >> >> >> > 2012<br>
>> >> >> >> > @@ -184,6 +184,9 @@<br>
>> >> >> >> >    StatInt_dup2,<br>
>> >> >> >> >    StatInt_dup3,<br>
>> >> >> >> >    StatInt_eventfd,<br>
>> >> >> >> > +  StatInt_signalfd,<br>
>> >> >> >> > +  StatInt_inotify_init,<br>
>> >> >> >> > +  StatInt_inotify_init1,<br>
>> >> >> >> >    StatInt_socket,<br>
>> >> >> >> >    StatInt_socketpair,<br>
>> >> >> >> >    StatInt_connect,<br>
>> >> >> >> ><br>
>> >> >> >> ><br>
>> >> >> >> > _______________________________________________<br>
>> >> >> >> > llvm-commits mailing list<br>
>> >> >> >> > <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>> >> >> >> > <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>> >> >> >> _______________________________________________<br>
>> >> >> >> llvm-commits mailing list<br>
>> >> >> >> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>> >> >> >> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>> >> >> ><br>
>> >> >> ><br>
>> >> ><br>
>> >> ><br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div></div></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div>Alexey Samsonov, MSK</div><br>
</font></span></div>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div></div></div><br></div></div></div>
</blockquote></div><br></div>