3.11.0-17 - Add valgrind-3.11.0-libstdc++-supp.patch (#1312647)
This commit is contained in:
parent
dc10ab4fc5
commit
9a7063aa84
109
valgrind-3.11.0-libstdc++-supp.patch
Normal file
109
valgrind-3.11.0-libstdc++-supp.patch
Normal file
@ -0,0 +1,109 @@
|
||||
commit 578a0ec2872203dd4a741f7a445056c80320e2c8
|
||||
Author: Mark Wielaard <mjw@redhat.com>
|
||||
Date: Thu Mar 10 21:36:00 2016 +0100
|
||||
|
||||
Add libstdc++.supp for still reachable leaks from global memory cache.
|
||||
|
||||
Contributed by Björn "besser82" Esser <fedora@besser82.io>.
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 888a308..01012e1 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1060,6 +1060,9 @@ if test "$VGCONF_OS" != "solaris"; then
|
||||
DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
|
||||
fi
|
||||
|
||||
+# Suppression file for libstdc++ until we solve KDE#345307
|
||||
+DEFAULT_SUPP="libstdc++.supp ${DEFAULT_SUPP}"
|
||||
+
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Platform variants?
|
||||
diff --git a/libstdc++.supp b/libstdc++.supp
|
||||
new file mode 100644
|
||||
index 0000000..f04f90d
|
||||
--- /dev/null
|
||||
+++ b/libstdc++.supp
|
||||
@@ -0,0 +1,68 @@
|
||||
+
|
||||
+# Some programs are using the C++ STL and string classes.
|
||||
+# Valgrind reports 'still reachable' memory leaks involving these classes
|
||||
+# at the exit of the program, but there should be none.
|
||||
+#
|
||||
+# Many implementations of the C++ standard libraries use their own memory
|
||||
+# pool allocators. Memory for quite a number of destructed objects is not
|
||||
+# immediately freed and given back to the OS, but kept in the pool(s) for
|
||||
+# later re-use. The fact that the pools are not freed at the exit of the
|
||||
+# program cause Valgrind to report this memory as still reachable.
|
||||
+#
|
||||
+# The behavior not to free pools at the exit could be called a bug of the
|
||||
+# library though.
|
||||
+#
|
||||
+# Using GCC, you can force the STL to use malloc and to free memory as soon
|
||||
+# as possible by globally disabling memory caching. Beware! Doing so will
|
||||
+# probably slow down your program, sometimes drastically.
|
||||
+#
|
||||
+# There are other ways to disable memory pooling: using the malloc_alloc
|
||||
+# template with your objects (not portable, but should work for GCC) or
|
||||
+# even writing your own memory allocators. But beware: allocators belong
|
||||
+# to the more messy parts of the STL and people went to great lengths to
|
||||
+# make the STL portable across platforms. Chances are good that your
|
||||
+# solution will work on your platform, but not on others.
|
||||
+#
|
||||
+# 72,704 bytes in 1 blocks are still reachable in loss record 1 of 1
|
||||
+# at 0x4C28D06: malloc (vg_replace_malloc.c:299)
|
||||
+# by 0x50C317F: ??? (in /usr/lib64/libstdc++.so.6.0.21)
|
||||
+# by 0x400F759: call_init.part.0 (dl-init.c:72)
|
||||
+# by 0x400F86A: call_init (dl-init.c:30)
|
||||
+# by 0x400F86A: _dl_init (dl-init.c:120)
|
||||
+# by 0x4000CB9: ??? (in /usr/lib64/ld-2.22.so)
|
||||
+#
|
||||
+# HEAP SUMMARY:
|
||||
+# in use at exit: 72,704 bytes in 1 blocks
|
||||
+# total heap usage: 4 allocs, 3 frees, 72,864 bytes allocated
|
||||
+#
|
||||
+# LEAK SUMMARY:
|
||||
+# definitely lost: 0 bytes in 0 blocks
|
||||
+# indirectly lost: 0 bytes in 0 blocks
|
||||
+# possibly lost: 0 bytes in 0 blocks
|
||||
+# still reachable: 72,704 bytes in 1 blocks
|
||||
+# suppressed: 0 bytes in 0 blocks
|
||||
+
|
||||
+{
|
||||
+ malloc-leaks-cxx-stl-string-classes
|
||||
+ Memcheck:Leak
|
||||
+ match-leak-kinds: reachable
|
||||
+ fun:malloc
|
||||
+ obj:/usr/*lib*/libstdc++.so*
|
||||
+ fun:call_init.part.0
|
||||
+ fun:call_init
|
||||
+ fun:_dl_init
|
||||
+ obj:/usr/*lib*/ld-2.*.so
|
||||
+}
|
||||
+{
|
||||
+ malloc-leaks-cxx-stl-string-classes-debug
|
||||
+ Memcheck:Leak
|
||||
+ match-leak-kinds: reachable
|
||||
+ fun:malloc
|
||||
+ fun:pool
|
||||
+ fun:__static_initialization_and_destruction_0
|
||||
+ fun:_GLOBAL__sub_I_eh_alloc.cc
|
||||
+ fun:call_init.part.0
|
||||
+ fun:call_init
|
||||
+ fun:_dl_init
|
||||
+ obj:/usr/*lib*/ld-2.*.so
|
||||
+}
|
||||
diff -ru valgrind-3.11.0.orig/configure valgrind-3.11.0/configure
|
||||
--- valgrind-3.11.0.orig/configure 2016-03-10 22:08:46.236519482 +0100
|
||||
+++ valgrind-3.11.0/configure 2016-03-10 22:09:01.550443864 +0100
|
||||
@@ -7073,6 +7073,9 @@
|
||||
DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
|
||||
fi
|
||||
|
||||
+# Suppression file for libstdc++ until we solve KDE#345307
|
||||
+DEFAULT_SUPP="libstdc++.supp ${DEFAULT_SUPP}"
|
||||
+
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Platform variants?
|
@ -120,6 +120,9 @@ Patch23: valgrind-3.11.0-ppoll-mask.patch
|
||||
# KDE#359503 - Add missing syscalls for aarch64 (arm64)
|
||||
Patch24: valgrind-3.11.0-arm64-more-syscalls.patch
|
||||
|
||||
# Workaround for KDE#345307 - still reachable memory in libstdc++ from gcc 5
|
||||
Patch25: valgrind-3.11.0-libstdc++-supp.patch
|
||||
|
||||
%if %{build_multilib}
|
||||
# Ensure glibc{,-devel} is installed for both multilib arches
|
||||
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
|
||||
@ -252,6 +255,8 @@ Valgrind User Manual for details.
|
||||
# New filter (from patch24) needs to be executable.
|
||||
chmod 755 memcheck/tests/arm64-linux/filter_stderr
|
||||
|
||||
%patch25 -p1
|
||||
|
||||
%build
|
||||
# We need to use the software collection compiler and binutils if available.
|
||||
# The configure checks might otherwise miss support for various newer
|
||||
@ -443,8 +448,9 @@ echo ===============END TESTING===============
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Mar 10 2016 Mark Wielaard <mjw@redhat.com>
|
||||
* Thu Mar 10 2016 Mark Wielaard <mjw@redhat.com> - 3.11.0-17
|
||||
- Update valgrind-3.11.0-arm64-more-syscalls.patch
|
||||
- Add valgrind-3.11.0-libstdc++-supp.patch (#1312647)
|
||||
|
||||
* Wed Mar 09 2016 Mark Wielaard <mjw@redhat.com> - 3.11.0-16
|
||||
- Add valgrind-3.11.0-ppoll-mask.patch
|
||||
|
Loading…
Reference in New Issue
Block a user