pgsql: Add valgrind suppressions for wcsrtombs optimizations

From: Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add valgrind suppressions for wcsrtombs optimizations
Date: 2018-11-17 23:08:28
Message-ID: E1gO9hU-0000cZ-Gi@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add valgrind suppressions for wcsrtombs optimizations

wcsrtombs (called through wchar2char from common functions like lower,
upper, etc.) uses various optimizations that may look like access to
uninitialized data, triggering valgrind reports.

For example AVX2 instructions load data in 256-bit chunks, and gconv
does something similar with 32-bit chunks. This is faster than accessing
the bytes one by one, and the uninitialized part of the buffer is not
actually used. So suppress the bogus reports.

The exact stack depends on possible optimizations - it might be AVX, SSE
(as in the report by Aleksander Alekseev) or something else. Hence the
last frame is wildcarded, to deal with this.

Backpatch all the way back to 9.4.

Author: Tomas Vondra
Discussion: https://www.postgresql.org/message-id/flat/90ac0452-e907-e7a4-b3c8-15bd33780e62%402ndquadrant.com
Discussion: https://www.postgresql.org/message-id/20180220150838.GD18315@e733.localdomain

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/bf070ce09e05943d6484de0ec17c7b02f2690a6d

Modified Files
--------------
src/tools/valgrind.supp | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Tomas Vondra 2018-11-17 23:08:55 pgsql: Add valgrind suppressions for wcsrtombs optimizations
Previous Message Tomas Vondra 2018-11-17 23:07:54 pgsql: Add valgrind suppressions for wcsrtombs optimizations