pgsql: Add valgrind suppressions for wcsrtombs optimizations - Mailing list pgsql-committers

From Tomas Vondra
Subject pgsql: Add valgrind suppressions for wcsrtombs optimizations
Date
Msg-id E1gO9gw-0000ba-Ag@gemulon.postgresql.org
Whole thread Raw
List 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
------
master

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

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


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Leave SIGTTIN/SIGTTOU signal handling alone in postmasterchild
Next
From: Tomas Vondra
Date:
Subject: pgsql: Add valgrind suppressions for wcsrtombs optimizations