# To add to these, run the failing case with
# valgrind --leak-check=full --suppressions=valgrind-suppress --gen-suppressions=yes ...
# Use a specific versioned suppression file.
#
{
   pthreads initialization from pmLoadNameSpace
   Memcheck:Cond
   fun:pthread_mutex_init
   fun:pthread_mutex_init
   fun:__pmInitLocks
   fun:pmLoadNameSpace
   fun:main
}

{
   pthreads initialization from pmNewContext
   Memcheck:Cond
   fun:pthread_mutex_init
   fun:pthread_mutex_init
   fun:__pmInitLocks
   fun:pmNewContext
   fun:main
}

{
   pthreads initialization from pmNewContext with PM_CONTEXT_LOCAL
   Memcheck:Cond
   fun:pthread_mutex_init
   fun:pthread_mutex_init
   fun:__pmInitLocks
   fun:pmNewContext
   obj:*
   fun:(below main)
}

{
   CentOS 5.6 dlopen -> _dl_new_object, expand_dynamic_string_token, _dl_map_object_deps, _dl_check_map_versions
   Memcheck:Leak
   fun:?alloc
   ...
   fun:dlopen*
   fun:__pmConnectLocal
}

{
   valgrind-3.7.0 in 64-bit Debian 6.0.5 _dl_start -> index
   Memcheck:Cond
   fun:index
   ...
   fun:_dl_start
}

{
   openSUSE 12.1 strlen() Conditional jump or move depends on uninitialised value(s)
   Memcheck:Cond
   fun:strlen
   obj:*
}

{
   readline library via dbpmda
   Memcheck:Param
   socketcall.sendmsg(msg.msg_name)
   fun:__sendmsg_nocancel
   fun:readline
}

{
   readline library
   Memcheck:Param
   socketcall.sendmsg(msg.msg_name)
   obj:*libc*
   fun:readline
}

{
   NSS library leak catch-all
   Memcheck:Leak
   fun:?alloc
   ...
   fun:NSS*
}

# ==12607==    at 0x482AB7A: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
# ==12607==    by 0x4ADF84E: nss_parse_service_list (nsswitch.c:678)
# ==12607==    by 0x4ADFFC9: __nss_database_lookup (nsswitch.c:175)
{
   nssswitch library leak catch-all
   Memcheck:Leak
   fun:malloc
   fun:nss_parse_service_list
   fun:__nss_database_lookup
}

{
   NSPR library leak catch-all
   Memcheck:Leak
   fun:?alloc
   ...
   fun:PR_*
}

{
   cyrus-sasl callback leak, RHBZ1191183, common case variant
   Memcheck:Leak
   fun:calloc
   ...
   fun:_plug_get_password
   ...
   fun:sasl_client_step
   ...
}

{
   RHEL6.3 GSS/kerberos libraries via cyrus-sasl, uninit'd access
   Memcheck:Addr8
   ...
   fun:krb5int_clean_hostname
   fun:krb5_get_host_realm
   ...
   fun:gss_init_sec_context
   ...
   fun:sasl_client_step
   fun:sasl_client_start
   fun:__pmAuthClientNegotiation
   ...
}

{
   sasl_client_new
   Memcheck:Leak
   fun:malloc
   fun:sasl_client_new
   ...
   fun:pmNewContext
   ...
}

{
   tsearch
   Memcheck:Leak
   fun:malloc
   ...
   fun:tsearch
   fun:__pmFindPDUBuf
   ...
}

{
   findpdubuf
   Memcheck:Leak
   fun:malloc
   fun:__pmFindPDUBuf
   ...
}

# Previously seen as:
# qa/681 on vm02 ... this one goes away when you compile w/out -O2,
# so probably bogus
#
# Also seen on multiple other VMs and different versions of valgrind.
#
# at 0x4C2E08F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
# by 0x5163219: strdup (in /lib64/libc-2.26.so)
# by 0x4E9B742: __pmProcessAddArg (exec.c:167)
# by 0x4012E5: main (exectest.c:97)
{
   processaddarg_bogus
   Memcheck:Leak
   fun:malloc
   fun:strdup
   fun:__pmProcessAddArg
   ...
}
