Thread: pgsql: Add valgrind suppressions for wcsrtombs optimizations
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(+)