Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Revert "Add valgrind suppressions for wcsrtombs optimizations"
authorTomas Vondra <tomas.vondra@postgresql.org>
Sat, 19 Jan 2019 19:45:31 +0000 (20:45 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Sat, 19 Jan 2019 19:45:31 +0000 (20:45 +0100)
This reverts commit 5b16a353543ecec36ffda68269defb7b1b002f60.

Per discussion, it's not desirable to add valgrind suppressions for
outside our own code base (e.g. glibc in this case), especially when
the suppressions may be platform-specific. There are better ways to
deal with that, e.g. by providing local suppressions.

Discussion: https://www.postgresql.org/message-id/flat/90ac0452-e907-e7a4-b3c8-15bd33780e62%402ndquadrant.com

src/tools/valgrind.supp

index fb08cf4fb8723409529bd8eaea70cd0180c79488..af03051260b28a302770c8e7549098c572a77bf3 100644 (file)
    Memcheck:Cond
    fun:PyObject_Realloc
 }
-
-# wcsrtombs uses some clever optimizations internally, which to valgrind
-# may look like access to uninitialized data. For example AVX2 instructions
-# load data in 256-bit chunks, irrespectedly of wchar length. gconv does
-# somethink similar by loading data in 32bit chunks and then shifting the
-# data internally. Neither of those actually uses the uninitialized part
-# of the buffer, as far as we know.
-#
-# https://www.postgresql.org/message-id/90ac0452-e907-e7a4-b3c8-15bd33780e62@2ndquadrant.com
-
-{
-   wcsnlen_optimized
-   Memcheck:Cond
-   ...
-   fun:wcsrtombs
-   fun:wcstombs
-   fun:wchar2char
-}
-
-{
-   wcsnlen_optimized_addr32
-   Memcheck:Addr32
-   ...
-   fun:wcsrtombs
-   fun:wcstombs
-   fun:wchar2char
-}
-
-{
-   gconv_transform_internal
-   Memcheck:Cond
-   fun:__gconv_transform_internal_utf8
-   fun:wcsrtombs
-   fun:wcstombs
-   fun:wchar2char
-}