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

# 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
#     Free Addr1 Addr2 Addr4 Addr8 Addr16
#     Cond (previously known as Value0)
#
# and the optional extra info is:
#     if Param: name of system call param
#     if Free: name of free-ing fn)

##----------------------------------------------------------------------##
## 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-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
}

