{
   lib-X11-used-old-pointer-after-realloc-1
   exp-ptrcheck:Heap
   fun:strlen
   obj:/usr/lib*/libX11.so*
   obj:/usr/lib*/libX11.so*
}
{
   lib-X11-used-old-pointer-after-realloc-2
   exp-ptrcheck:Heap
   obj:/usr/lib*/libX11.so*
   obj:/usr/lib*/libX11.so*
}

{
   ld-2.X-invalid-Add32/64-who-knows
   exp-ptrcheck:Arith
   obj:/*lib*/ld-2.*so*
   obj:/*lib*/ld-2.*so*
}

{
   ld-2.X possibly applying relocations
   exp-ptrcheck:SorG
   obj:/*lib*/ld-2.*so*
   obj:/*lib*/ld-2.*so*
}

# I'm pretty sure this is a false positive caused by the sg_ stuff
{
   glibc realpath false positive
   exp-ptrcheck:SorG
   fun:realpath
   fun:*
}

{
   If I had to guess, inlined or nameless strlen etc in ld.so
   exp-ptrcheck:Heap
   obj:/*lib*/ld-2.*so*
   obj:/*lib*/ld-2.*so*
}

{
   I think this is glibc's ultra optimised getenv doing 2 byte reads
   exp-ptrcheck:SorG
   fun:getenv
}

{
   Occurs on Fedora 7--9?
   exp-ptrcheck:Heap
   fun:_dl_fini
   fun:exit
   fun:(below main)
}


# Invalid read of size 16
#    at 0x5643A5C: ??? (strcpy.S:94)
#    by 0x50C6A99: XtResolvePathname (in /usr/lib/libXt.so.6.0.0)
#    by 0x50C3856: XtScreenDatabase (in /usr/lib/libXt.so.6.0.0)
#    by 0x50C4386: _XtDisplayInitialize (in /usr/lib/libXt.so.6.0.0)
{
   Ubuntu 10.04 x86_64, SSEised strcpy, can't intercept
   exp-ptrcheck:Heap
   obj:/*lib*/libc-2.*so*
   obj:/*lib*/libX*so*
}
{
   Ubuntu 10.04 x86_64, SSEised strcpy, can't intercept - 2
   exp-ptrcheck:Heap
   obj:/*lib*/libc-2.*so*
   obj:/*lib*/libICE*so*
}
{
   Ubuntu 10.04 x86_64, SSEised strcpy, can't intercept - 3
   exp-ptrcheck:Heap
   obj:/*lib*/libc-2.*so*
   obj:/*lib*/libglib*so*
}
{
   Ubuntu 10.04 x86_64, SSEised strcpy, can't intercept - 4
   exp-ptrcheck:Heap
   obj:/*lib*/libc-2.*so*
   obj:/*lib*/libfontconfig*so*
}
