##----------------------------------------------------------------------##

# Errors to suppress by default with glibc 2.4.x

# Format of this file is:
# {
#     name_of_suppression
#     tool_name:supp_kind
#     (optional extra info for some suppression types)
#     caller0 name, or /name/of/so/file.so
#     caller1 name, or ditto
#     (optionally: caller2 name)
#     (optionally: caller3 name)
#  }
#
# For Memcheck, the supp_kinds are:
#
#     Param Value1 Value2 Value4 Value8 Value16 Jump
#     Free Addr1 Addr2 Addr4 Addr8 Addr16
#     Cond (previously known as Value0)
#
# and the optional extra info is:
#     if Param: name of system call param

##----------------------------------------------------------------------##
## Suppressions for Fedora Core 5 on ppc32/amd64 (glibc-2.3.90)

{
   Fedora-Core-5-hack1
   Memcheck:Cond
   fun:_dl_start
   fun:_start
}

{
   Fedora-Core-5-hack2
   Memcheck:Cond
   obj:/lib*/ld-2.3.90.so
   obj:/lib*/ld-2.3.90.so
   obj:/lib*/ld-2.3.90.so
   obj:/lib*/ld-2.3.90.so
}

{
   Fedora-Core-5-hack2a
   Memcheck:Cond
   obj:/lib*/ld-2.4*so
   obj:/lib*/ld-2.4*so
   obj:/lib*/ld-2.4*so
   obj:/lib*/ld-2.4*so
}

{
   Fedora-Core-5-hack3
   Memcheck:Cond
   obj:/lib*/ld-2.3.90.so
   obj:/lib*/ld-2.3.90.so
   obj:/lib*/ld-2.3.90.so
   obj:/lib*/libc-2.3.90.so
}

{
   Fedora-Core-5-__strcpy_chk-64bit-hack-TODO-fix-this-properly
   Memcheck:Addr8
   fun:__strcpy_chk
   obj:/usr/lib64/libX11.so.6.2.0
   obj:/usr/lib64/libX11.so.6.2.0
}

{
   Fedora-Core-5-hack3-ld24
   Memcheck:Cond
   obj:/lib*/ld-2.4*so*
   obj:/lib*/ld-2.4*so*
   obj:/lib*/ld-2.4*so*
}

{
   Fedora-Core-5-yet-another-ppc32-hack
   Memcheck:Addr4
   fun:_wordcopy_fwd_dest_aligned
   fun:mempcpy
   obj:/lib*/libc-2.4*so*
}

##----------------------------------------------------------------------##
{
   glibc-2.3.x-on-SUSE-10.1-(PPC)-1
   Memcheck:Cond
   fun:_dl_start_final
   fun:_dl_start
   fun:_start
}
{
   glibc-2.3.x-on-SUSE-10.1-(PPC)-2a
   Memcheck:Cond
   fun:index
   obj:*ld-2.3.*.so
}
{
   glibc-2.3.x-on-SuSE-10.1-(PPC)-2b
   Memcheck:Addr4
   fun:index
   fun:expand_dynamic_string_token
}
{
   glibc-2.3.5-on-SuSE-10.1-(PPC)-2c
   Memcheck:Addr4
   fun:index
   obj:*ld-2.3.*.so
}
{
   glibc-2.3.5-on-SuSE-10.1-(PPC)-3
   Memcheck:Addr4
   fun:*wordcopy_fwd_dest_aligned*
   fun:mem*cpy
   obj:*lib*2.3.*.so
}
{
   index-not-intercepted-early-enough-HACK-4
   Memcheck:Cond
   fun:index
   fun:expand_dynamic_string_token
}


##----------------------------------------------------------------------##
## Various structure padding things on amd64 SuSE 10.1
##
{
   X11-64bit-padding-1a
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
   fun:X*
}
{
   X11-64bit-padding-1b
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
   fun:_X*
}
{
   X11-64bit-padding-1c
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
}
{
   X11-64bit-padding-1d
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   obj:/usr/X*/libICE.so*
   obj:/usr/X*/libICE.so*
   obj:/usr/X*/libICE.so*
}


{
   X11-64bit-padding-2a
   Memcheck:Param
   writev(vector[...])
   fun:do_writev
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
}
{
   X11-64bit-padding-2b
   Memcheck:Param
   writev(vector[...])
   fun:do_writev
   fun:writev
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
}

{
   glibc24-64bit-padding-1a
   Memcheck:Param
   socketcall.sendto(msg)
   fun:send
   fun:get_mapping
   fun:__nscd_get_map_ref
   fun:nscd*
}
{
   glibc24-64bit-padding-1b
   Memcheck:Param
   socketcall.sendto(msg)
   fun:__sendto_nocancel
   obj:/*libc-2.4.so
   obj:/*libc-2.4.so
   obj:/*libc-2.4.so
}
{
   glibc24-64bit-padding-1c
   Memcheck:Param
   socketcall.send(msg)
   fun:send
   fun:__nscd_get_map_ref
   fun:nscd_get*_r
   fun:*nscd*
   obj:/*libc-2.4.so
}


{
   X11-64bit-padding-3a
   Memcheck:Param
   write(buf)
   obj:/*libpthread-2.4.so*
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
   obj:/usr/X*/libX11.so*
}

{
   X11-64bit-padding-4a
   Memcheck:Param
   socketcall.sendto(msg)
   fun:send
   obj:/*libc-2.4.so
   obj:/*libc-2.4.so
   obj:/*libc-2.4.so
}
{
   X11-64bit-padding-4b
   Memcheck:Param
   socketcall.send(msg)
   fun:send
   obj:/*libc-2.4.so
   obj:/*libc-2.4.so
   obj:/*libc-2.4.so
}

##----------------------------------------------------------------------##
# MontaVista Linux 4.0.1 on ppc32
{
    MVL-401-linuxthreads-pthread_create
    Memcheck:Param
    write(buf)
    fun:pthread_create
}
{
   MVL-401-linuxthreads-pthread_create
   Memcheck:Param
   write(buf)
   obj:/lib/libpthread-0.10.so
   fun:pthread_create
}