tsan_stat.cc revision 90a65aa532dc1e60ce3413b05cd2f3bf3e166058
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===-- tsan_stat.cc ------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//                     The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is distributed under the University of Illinois Open Source
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// License. See LICENSE.TXT for details.
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//===----------------------------------------------------------------------===//
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// This file is a part of ThreadSanitizer (TSan), a race detector.
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "tsan_stat.h"
147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "tsan_rtl.h"
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochnamespace __tsan {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void StatAggregate(u64 *dst, u64 *src) {
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (!kCollectStats)
207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    return;
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for (int i = 0; i < StatCnt; i++)
2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    dst[i] += src[i];
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void StatOutput(u64 *stat) {
2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  if (!kCollectStats)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return;
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  stat[StatShadowNonZero] = stat[StatShadowProcessed] - stat[StatShadowZero];
307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  static const char *name[StatCnt] = {};
3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatMop]                          = "Memory accesses                   ";
3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatMopRead]                      = "  Including reads                 ";
3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatMopWrite]                     = "            writes                ";
357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatMop1]                         = "  Including size 1                ";
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMop2]                         = "            size 2                ";
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMop4]                         = "            size 4                ";
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMop8]                         = "            size 8                ";
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMopSame]                      = "  Including same                  ";
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMopRange]                     = "  Including range                 ";
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMopRodata]                    = "  Including .rodata               ";
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMopRangeRodata]               = "  Including .rodata range         ";
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatShadowProcessed]              = "Shadow processed                  ";
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatShadowZero]                   = "  Including empty                 ";
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatShadowNonZero]                = "  Including non empty             ";
46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatShadowSameSize]               = "  Including same size             ";
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatShadowIntersect]              = "            intersect             ";
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatShadowNotIntersect]           = "            not intersect         ";
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatShadowSameThread]             = "  Including same thread           ";
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatShadowAnotherThread]          = "            another thread        ";
51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatShadowReplace]                = "  Including evicted               ";
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatFuncEnter]                    = "Function entries                  ";
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatFuncExit]                     = "Function exits                    ";
55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatEvents]                       = "Events collected                  ";
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatThreadCreate]                 = "Total threads created             ";
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatThreadFinish]                 = "  threads finished                ";
59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatThreadReuse]                  = "  threads reused                  ";
60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatThreadMaxTid]                 = "  max tid                         ";
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatThreadMaxAlive]               = "  max alive threads               ";
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexCreate]                  = "Mutexes created                   ";
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexDestroy]                 = "  destroyed                       ";
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexLock]                    = "  lock                            ";
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexUnlock]                  = "  unlock                          ";
672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexRecLock]                 = "  recursive lock                  ";
682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexRecUnlock]               = "  recursive unlock                ";
692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexReadLock]                = "  read lock                       ";
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatMutexReadUnlock]              = "  read unlock                     ";
71b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
72b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  name[StatSyncCreated]                  = "Sync objects created              ";
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatSyncDestroyed]                = "             destroyed            ";
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatSyncAcquire]                  = "             acquired             ";
7590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatSyncRelease]                  = "             released             ";
7690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
7790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomic]                       = "Atomic operations                 ";
7890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomicLoad]                   = "  Including load                  ";
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicStore]                  = "            store                 ";
802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicExchange]               = "            exchange              ";
8190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomicFetchAdd]               = "            fetch_add             ";
8290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomicFetchSub]               = "            fetch_sub             ";
8390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomicFetchAnd]               = "            fetch_and             ";
8490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomicFetchOr]                = "            fetch_or              ";
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicFetchXor]               = "            fetch_xor             ";
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicFetchNand]              = "            fetch_nand            ";
872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicCAS]                    = "            compare_exchange      ";
882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicFence]                  = "            fence                 ";
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicRelaxed]                = "  Including relaxed               ";
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicConsume]                = "            consume               ";
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicAcquire]                = "            acquire               ";
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicRelease]                = "            release               ";
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicAcq_Rel]                = "            acq_rel               ";
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomicSeq_Cst]                = "            seq_cst               ";
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomic1]                      = "  Including size 1                ";
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomic2]                      = "            size 2                ";
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAtomic4]                      = "            size 4                ";
9890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomic8]                      = "            size 8                ";
9990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatAtomic16]                     = "            size 16               ";
10090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
10190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  name[StatInterceptor]                  = "Interceptors                      ";
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_longjmp]                  = "  longjmp                         ";
1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_siglongjmp]               = "  siglongjmp                      ";
1047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_malloc]                   = "  malloc                          ";
1057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt___libc_memalign]          = "  __libc_memalign                 ";
1067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_calloc]                   = "  calloc                          ";
1077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_realloc]                  = "  realloc                         ";
1087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_free]                     = "  free                            ";
1097d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_cfree]                    = "  cfree                           ";
1107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_malloc_usable_size]       = "  malloc_usable_size              ";
1117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_mmap]                     = "  mmap                            ";
1127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_mmap64]                   = "  mmap64                          ";
1137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_munmap]                   = "  munmap                          ";
1147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_memalign]                 = "  memalign                        ";
1157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_valloc]                   = "  valloc                          ";
1167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_pvalloc]                  = "  pvalloc                         ";
1177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_posix_memalign]           = "  posix_memalign                  ";
1187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt__Znwm]                    = "  _Znwm                           ";
1197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt__ZnwmRKSt9nothrow_t]      = "  _ZnwmRKSt9nothrow_t             ";
1207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt__Znam]                    = "  _Znam                           ";
1217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt__ZnamRKSt9nothrow_t]      = "  _ZnamRKSt9nothrow_t             ";
1227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt__ZdlPv]                   = "  _ZdlPv                          ";
1237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt__ZdlPvRKSt9nothrow_t]     = "  _ZdlPvRKSt9nothrow_t            ";
1247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt__ZdaPv]                   = "  _ZdaPv                          ";
1257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt__ZdaPvRKSt9nothrow_t]     = "  _ZdaPvRKSt9nothrow_t            ";
1267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_strlen]                   = "  strlen                          ";
1277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_memset]                   = "  memset                          ";
1287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_memcpy]                   = "  memcpy                          ";
1297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_strcmp]                   = "  strcmp                          ";
1307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_memchr]                   = "  memchr                          ";
1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_memrchr]                  = "  memrchr                         ";
1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_memmove]                  = "  memmove                         ";
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_memcmp]                   = "  memcmp                          ";
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strchr]                   = "  strchr                          ";
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strchrnul]                = "  strchrnul                       ";
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strrchr]                  = "  strrchr                         ";
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strncmp]                  = "  strncmp                         ";
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strcpy]                   = "  strcpy                          ";
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strncpy]                  = "  strncpy                         ";
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_strstr]                   = "  strstr                          ";
1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_strcasecmp]               = "  strcasecmp                      ";
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_strncasecmp]              = "  strncasecmp                     ";
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_atexit]                   = "  atexit                          ";
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___cxa_guard_acquire]      = "  __cxa_guard_acquire             ";
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___cxa_guard_release]      = "  __cxa_guard_release             ";
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt___cxa_guard_abort]        = "  __cxa_guard_abort               ";
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_create]           = "  pthread_create                  ";
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_join]             = "  pthread_join                    ";
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_detach]           = "  pthread_detach                  ";
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_mutex_init]       = "  pthread_mutex_init              ";
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_mutex_destroy]    = "  pthread_mutex_destroy           ";
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_mutex_lock]       = "  pthread_mutex_lock              ";
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_mutex_trylock]    = "  pthread_mutex_trylock           ";
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_mutex_timedlock]  = "  pthread_mutex_timedlock         ";
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_mutex_unlock]     = "  pthread_mutex_unlock            ";
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_spin_init]        = "  pthread_spin_init               ";
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_spin_destroy]     = "  pthread_spin_destroy            ";
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_spin_lock]        = "  pthread_spin_lock               ";
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pthread_spin_trylock]     = "  pthread_spin_trylock            ";
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_spin_unlock]      = "  pthread_spin_unlock             ";
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_rwlock_init]      = "  pthread_rwlock_init             ";
1627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_pthread_rwlock_destroy]   = "  pthread_rwlock_destroy          ";
1637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_pthread_rwlock_rdlock]    = "  pthread_rwlock_rdlock           ";
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_rwlock_tryrdlock] = "  pthread_rwlock_tryrdlock        ";
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_rwlock_timedrdlock]
166868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                                         = "  pthread_rwlock_timedrdlock      ";
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pthread_rwlock_wrlock]    = "  pthread_rwlock_wrlock           ";
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pthread_rwlock_trywrlock] = "  pthread_rwlock_trywrlock        ";
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pthread_rwlock_timedwrlock]
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                         = "  pthread_rwlock_timedwrlock      ";
171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatInt_pthread_rwlock_unlock]    = "  pthread_rwlock_unlock           ";
172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatInt_pthread_cond_init]        = "  pthread_cond_init               ";
173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatInt_pthread_cond_destroy]     = "  pthread_cond_destroy            ";
174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatInt_pthread_cond_signal]      = "  pthread_cond_signal             ";
175868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  name[StatInt_pthread_cond_broadcast]   = "  pthread_cond_broadcast          ";
176868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  name[StatInt_pthread_cond_wait]        = "  pthread_cond_wait               ";
177868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  name[StatInt_pthread_cond_timedwait]   = "  pthread_cond_timedwait          ";
178868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  name[StatInt_pthread_barrier_init]     = "  pthread_barrier_init            ";
179868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  name[StatInt_pthread_barrier_destroy]  = "  pthread_barrier_destroy         ";
180868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  name[StatInt_pthread_barrier_wait]     = "  pthread_barrier_wait            ";
1817dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_pthread_once]             = "  pthread_once                    ";
1827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_pthread_getschedparam]    = "  pthread_getschedparam           ";
183eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  name[StatInt_sem_init]                 = "  sem_init                        ";
1847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_sem_destroy]              = "  sem_destroy                     ";
1857dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_sem_wait]                 = "  sem_wait                        ";
1867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_sem_trywait]              = "  sem_trywait                     ";
1877dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_sem_timedwait]            = "  sem_timedwait                   ";
1887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_sem_post]                 = "  sem_post                        ";
1897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_sem_getvalue]             = "  sem_getvalue                    ";
1907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_stat]                     = "  stat                            ";
1917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt___xstat]                  = "  __xstat                         ";
1927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_stat64]                   = "  stat64                          ";
1937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt___xstat64]                = "  __xstat64                       ";
1947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  name[StatInt_lstat]                    = "  lstat                           ";
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___lxstat]                 = "  __lxstat                        ";
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_lstat64]                  = "  lstat64                         ";
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___lxstat64]               = "  __lxstat64                      ";
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fstat]                    = "  fstat                           ";
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___fxstat]                 = "  __fxstat                        ";
2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fstat64]                  = "  fstat64                         ";
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___fxstat64]               = "  __fxstat64                      ";
2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_open]                     = "  open                            ";
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_open64]                   = "  open64                          ";
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_creat]                    = "  creat                           ";
2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_creat64]                  = "  creat64                         ";
2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_dup]                      = "  dup                             ";
2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_dup2]                     = "  dup2                            ";
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_dup3]                     = "  dup3                            ";
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_eventfd]                  = "  eventfd                         ";
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_signalfd]                 = "  signalfd                        ";
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_inotify_init]             = "  inotify_init                    ";
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_inotify_init1]            = "  inotify_init1                   ";
2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_socket]                   = "  socket                          ";
2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_socketpair]               = "  socketpair                      ";
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_connect]                  = "  connect                         ";
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_bind]                     = "  bind                            ";
2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_listen]                   = "  listen                          ";
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_accept]                   = "  accept                          ";
2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_accept4]                  = "  accept4                         ";
2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_epoll_create]             = "  epoll_create                    ";
2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_epoll_create1]            = "  epoll_create1                   ";
2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_close]                    = "  close                           ";
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt___close]                  = "  __close                         ";
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt___res_iclose]             = "  __res_iclose                    ";
2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pipe]                     = "  pipe                            ";
2262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pipe2]                    = "  pipe2                           ";
2272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_read]                     = "  read                            ";
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_prctl]                    = "  prctl                           ";
2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pread]                    = "  pread                           ";
2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pread64]                  = "  pread64                         ";
2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_readv]                    = "  readv                           ";
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_preadv]                   = "  preadv                          ";
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_preadv64]                 = "  preadv64                        ";
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_write]                    = "  write                           ";
2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pwrite]                   = "  pwrite                          ";
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pwrite64]                 = "  pwrite64                        ";
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_writev]                   = "  writev                          ";
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pwritev]                  = "  pwritev                         ";
2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_pwritev64]                = "  pwritev64                       ";
2402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_send]                     = "  send                            ";
2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_sendmsg]                  = "  sendmsg                         ";
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_recv]                     = "  recv                            ";
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_recvmsg]                  = "  recvmsg                         ";
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_unlink]                   = "  unlink                          ";
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_fopen]                    = "  fopen                           ";
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_freopen]                  = "  freopen                         ";
2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fclose]                   = "  fclose                          ";
2482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fread]                    = "  fread                           ";
2492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fwrite]                   = "  fwrite                          ";
2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fflush]                   = "  fflush                          ";
2512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_abort]                    = "  abort                           ";
2522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_puts]                     = "  puts                            ";
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_rmdir]                    = "  rmdir                           ";
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_opendir]                  = "  opendir                         ";
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_epoll_ctl]                = "  epoll_ctl                       ";
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_epoll_wait]               = "  epoll_wait                      ";
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_poll]                     = "  poll                            ";
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_sigaction]                = "  sigaction                       ";
2592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_signal]                   = "  signal                          ";
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_raise]                    = "  raise                           ";
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_kill]                     = "  kill                            ";
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_pthread_kill]             = "  pthread_kill                    ";
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_sleep]                    = "  sleep                           ";
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_usleep]                   = "  usleep                          ";
2652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_nanosleep]                = "  nanosleep                       ";
2662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_gettimeofday]             = "  gettimeofday                    ";
2672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fork]                     = "  fork                            ";
2682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_vscanf]                   = "  vscanf                          ";
2692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_vsscanf]                  = "  vsscanf                         ";
2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_vfscanf]                  = "  vfscanf                         ";
2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_scanf]                    = "  scanf                           ";
2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_sscanf]                   = "  sscanf                          ";
2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_fscanf]                   = "  fscanf                          ";
2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___isoc99_vscanf]          = "  vscanf                          ";
2752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___isoc99_vsscanf]         = "  vsscanf                         ";
2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___isoc99_vfscanf]         = "  vfscanf                         ";
2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___isoc99_scanf]           = "  scanf                           ";
2782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___isoc99_sscanf]          = "  sscanf                          ";
2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt___isoc99_fscanf]          = "  fscanf                          ";
280c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatInt_on_exit]                  = "  on_exit                         ";
281c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatInt___cxa_atexit]             = "  __cxa_atexit                    ";
2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_localtime]                = "  localtime                       ";
2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_localtime_r]              = "  localtime_r                     ";
2842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_gmtime]                   = "  gmtime                          ";
2852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_gmtime_r]                 = "  gmtime_r                        ";
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_ctime]                    = "  ctime                           ";
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_ctime_r]                  = "  ctime_r                         ";
2882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_asctime]                  = "  asctime                         ";
2892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_asctime_r]                = "  asctime_r                       ";
2902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_frexp]                    = "  frexp                           ";
2912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_frexpf]                   = "  frexpf                          ";
2922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_frexpl]                   = "  frexpl                          ";
2932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getpwnam]                 = "  getpwnam                        ";
2942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getpwuid]                 = "  getpwuid                        ";
2952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getgrnam]                 = "  getgrnam                        ";
2962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getgrgid]                 = "  getgrgid                        ";
2972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getpwnam_r]               = "  getpwnam_r                      ";
2982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getpwuid_r]               = "  getpwuid_r                      ";
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_getgrnam_r]               = "  getgrnam_r                      ";
3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getgrgid_r]               = "  getgrgid_r                      ";
3012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_clock_getres]             = "  clock_getres                    ";
3022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_clock_gettime]            = "  clock_gettime                   ";
3032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_clock_settime]            = "  clock_settime                   ";
3042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_getitimer]                = "  getitimer                       ";
3052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_setitimer]                = "  setitimer                       ";
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_time]                     = "  time                            ";
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_glob]                     = "  glob                            ";
3082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_glob64]                   = "  glob64                          ";
3092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_wait]                     = "  wait                            ";
3102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_waitid]                   = "  waitid                          ";
3112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_waitpid]                  = "  waitpid                         ";
3122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_wait3]                    = "  wait3                           ";
3132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_wait4]                    = "  wait4                           ";
3142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatInt_inet_ntop]                = "  inet_ntop                       ";
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_inet_pton]                = "  inet_pton                       ";
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatInt_inet_aton]                = "  inet_aton                       ";
3177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_getaddrinfo]              = "  getaddrinfo                     ";
3187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_getsockname]              = "  getsockname                     ";
3197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostent]               = "  gethostent                      ";
3207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostbyname]            = "  gethostbyname                   ";
3217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostbyname2]           = "  gethostbyname2                  ";
3227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostbyaddr]            = "  gethostbyaddr                   ";
3237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostent_r]             = "  gethostent_r                    ";
3247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostbyname_r]          = "  gethostbyname_r                 ";
3257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostbyname2_r]         = "  gethostbyname2_r                ";
3267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_gethostbyaddr_r]          = "  gethostbyaddr_r                 ";
3277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_getsockopt]               = "  getsockopt                      ";
3287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_modf]                     = "  modf                            ";
3297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_modff]                    = "  modff                           ";
3307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_modfl]                    = "  modfl                           ";
3317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_getpeername]              = "  getpeername                     ";
3327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatInt_ioctl]                    = "  ioctl                           ";
3337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
3347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotation]                   = "Dynamic annotations               ";
3357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateHappensBefore]        = "  HappensBefore                   ";
3367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateHappensAfter]         = "  HappensAfter                    ";
3377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateCondVarSignal]        = "  CondVarSignal                   ";
3387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateCondVarSignalAll]     = "  CondVarSignalAll                ";
3397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateMutexIsNotPHB]        = "  MutexIsNotPHB                   ";
3407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateCondVarWait]          = "  CondVarWait                     ";
3417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateRWLockCreate]         = "  RWLockCreate                    ";
3427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateRWLockCreateStatic]   = "  StatAnnotateRWLockCreateStatic  ";
3437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateRWLockDestroy]        = "  RWLockDestroy                   ";
3447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateRWLockAcquired]       = "  RWLockAcquired                  ";
3457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateRWLockReleased]       = "  RWLockReleased                  ";
3467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateTraceMemory]          = "  TraceMemory                     ";
3477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateFlushState]           = "  FlushState                      ";
3487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateNewMemory]            = "  NewMemory                       ";
3497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateNoOp]                 = "  NoOp                            ";
3507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateFlushExpectedRaces]   = "  FlushExpectedRaces              ";
3517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateEnableRaceDetection]  = "  EnableRaceDetection             ";
3527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateMutexIsUsedAsCondVar] = "  MutexIsUsedAsCondVar            ";
3537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotatePCQGet]               = "  PCQGet                          ";
3547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotatePCQPut]               = "  PCQPut                          ";
3557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotatePCQDestroy]           = "  PCQDestroy                      ";
3567dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotatePCQCreate]            = "  PCQCreate                       ";
3577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateExpectRace]           = "  ExpectRace                      ";
3587dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  name[StatAnnotateBenignRaceSized]      = "  BenignRaceSized                 ";
3592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAnnotateBenignRace]           = "  BenignRace                      ";
3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAnnotateIgnoreReadsBegin]     = "  IgnoreReadsBegin                ";
3612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAnnotateIgnoreReadsEnd]       = "  IgnoreReadsEnd                  ";
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatAnnotateIgnoreWritesBegin]    = "  IgnoreWritesBegin               ";
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatAnnotateIgnoreWritesEnd]      = "  IgnoreWritesEnd                 ";
3642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAnnotatePublishMemoryRange]   = "  PublishMemoryRange              ";
3652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAnnotateUnpublishMemoryRange] = "  UnpublishMemoryRange            ";
3662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  name[StatAnnotateThreadName]           = "  ThreadName                      ";
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
368c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxTotal]                     = "Contentionz                       ";
369c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxTrace]                     = "  Trace                           ";
370c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxThreads]                   = "  Threads                         ";
371c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxReport]                    = "  Report                          ";
372c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxSyncVar]                   = "  SyncVar                         ";
373c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxSyncTab]                   = "  SyncTab                         ";
374c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxSlab]                      = "  Slab                            ";
375c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxAtExit]                    = "  Atexit                          ";
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  name[StatMtxAnnotations]               = "  Annotations                     ";
377c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxMBlock]                    = "  MBlock                          ";
378c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxJavaMBlock]                = "  JavaMBlock                      ";
379c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  name[StatMtxFD]                        = "  FD                              ";
380c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
381c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  Printf("Statistics:\n");
382c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  for (int i = 0; i < StatCnt; i++)
383c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    Printf("%s: %zu\n", name[i], (uptr)stat[i]);
384c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
385c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
386c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace __tsan
387c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)