[valgrind] [Bug 373069] New: memcheck/tests/leak_cpp_interior fails with GCC 5.1+

2016-11-29 Thread Aleksandar Rikalo
https://bugs.kde.org/show_bug.cgi?id=373069

Bug ID: 373069
   Summary: memcheck/tests/leak_cpp_interior fails with GCC 5.1+
   Product: valgrind
   Version: unspecified
  Platform: unspecified
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: memcheck
  Assignee: jsew...@acm.org
  Reporter: aleksandar.rik...@imgtec.com
  Target Milestone: ---

Memcheck's leak_cpp_interior test has purpose to test heuristics for detecting
some common cases, where the pointer is pointing in the middle of the block,
but the chunk is not lost. One of such cases is old implementation of string
that has format:

 [_Rep] 
*_M_length 
*   [basic_string]_M_capacity 
*   _M_dataplus  _M_refcount 
*   _M_p >   unnamed array of char_type

New library ABI introduced in GCC 5.1 includes new implementation of
std::string. In new implementation pointer is no longer displaced from the
beginning of the chunk. This causes failing of leak_cpp_interior test.

>From GCC version 5.1.0, allocation of exceptions in libstdc++ is changed.
Before GCC version 5.1.0 emergency buffer was statically allocated. In version
5.1.0 it is swapped with object of class poll with dynamically allocated arena.
This change also causes failing of leak_cpp_interior test. Memcheck detects
dynamically allocated block of 72,704 bytes for 64bit architectures or 18,688
bytes for 32bit architectures, that is not visible when using older versions of
libstdc++.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 373069] New: memcheck/tests/leak_cpp_interior fails with GCC 5.1+

2016-11-29 Thread Aleksandar Rikalo
https://bugs.kde.org/show_bug.cgi?id=373069

Bug ID: 373069
   Summary: memcheck/tests/leak_cpp_interior fails with GCC 5.1+
   Product: valgrind
   Version: unspecified
  Platform: unspecified
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: memcheck
  Assignee: jsew...@acm.org
  Reporter: aleksandar.rik...@imgtec.com
  Target Milestone: ---

Memcheck's leak_cpp_interior test has purpose to test heuristics for detecting
some common cases, where the pointer is pointing in the middle of the block,
but the chunk is not lost. One of such cases is old implementation of string
that has format:

 [_Rep] 
*_M_length 
*   [basic_string]_M_capacity 
*   _M_dataplus  _M_refcount 
*   _M_p >   unnamed array of char_type

New library ABI introduced in GCC 5.1 includes new implementation of
std::string. In new implementation pointer is no longer displaced from the
beginning of the chunk. This causes failing of leak_cpp_interior test.

>From GCC version 5.1.0, allocation of exceptions in libstdc++ is changed.
Before GCC version 5.1.0 emergency buffer was statically allocated. In version
5.1.0 it is swapped with object of class poll with dynamically allocated arena.
This change also causes failing of leak_cpp_interior test. Memcheck detects
dynamically allocated block of 72,704 bytes for 64bit architectures or 18,688
bytes for 32bit architectures, that is not visible when using older versions of
libstdc++.

-- 
You are receiving this mail because:
You are watching all bug changes.