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:10:27 |
Message-ID: | E1gO9jP-0000gp-0k@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
------
REL9_4_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/41344896364c4bf2229ec590c95cf23a6bec928e
Modified Files
--------------
src/tools/valgrind.supp | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-11-18 04:16:29 | pgsql: Fix AC_REQUIRES breakage in LLVM autoconf tests. |
Previous Message | Tomas Vondra | 2018-11-17 23:09:54 | pgsql: Add valgrind suppressions for wcsrtombs optimizations |