forked from pool/gperftools
Compare commits
2 Commits
Author | SHA256 | Date | |
---|---|---|---|
a3fb93c095 | |||
|
2dab053abe |
BIN
gperftools-2.15.tar.gz
(Stored with Git LFS)
BIN
gperftools-2.15.tar.gz
(Stored with Git LFS)
Binary file not shown.
3
gperftools-2.17.2.tar.gz
Normal file
3
gperftools-2.17.2.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bb172a54312f623b53d8b94cab040248c559decdb87574ed873e80b516e6e8eb
|
||||||
|
size 2815669
|
17
gperftools-no-profiledata_unittest.patch
Normal file
17
gperftools-no-profiledata_unittest.patch
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
Index: gperftools-2.17.2/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- gperftools-2.17.2.orig/Makefile.am
|
||||||
|
+++ gperftools-2.17.2/Makefile.am
|
||||||
|
@@ -764,11 +764,6 @@ libprofiler_la_LDFLAGS = -export-symbols
|
||||||
|
TESTS += getpc_test
|
||||||
|
getpc_test_SOURCES = src/tests/getpc_test.cc src/getpc.h
|
||||||
|
|
||||||
|
-TESTS += profiledata_unittest
|
||||||
|
-profiledata_unittest_SOURCES = src/tests/profiledata_unittest.cc src/profiledata.cc
|
||||||
|
-profiledata_unittest_CPPFLAGS = $(gtest_CPPFLAGS)
|
||||||
|
-profiledata_unittest_LDADD = libstacktrace.la libcommon.la libgtest.la
|
||||||
|
-
|
||||||
|
TESTS += profile_handler_unittest
|
||||||
|
profile_handler_unittest_SOURCES = src/tests/profile-handler_unittest.cc src/profile-handler.cc
|
||||||
|
profile_handler_unittest_CPPFLAGS = $(gtest_CPPFLAGS)
|
@@ -1,3 +1,89 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 2 10:45:33 UTC 2025 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 2.17.2
|
||||||
|
2.17.2
|
||||||
|
Couple bugs were found in the recently introduced changes. So this is
|
||||||
|
another point release with some fixes.
|
||||||
|
2.17.1
|
||||||
|
There was just one fix submitted since 2.17. graysky has contributed
|
||||||
|
build fix for (legacy, 32-bit) ARMs. Huge thanks!
|
||||||
|
2.17
|
||||||
|
* Salvatore Dipietro has contributed SB instruction support for
|
||||||
|
spinlock delay loops on newer ARMs.
|
||||||
|
* libgcc backtrace capturing method now handles deep backtraces
|
||||||
|
better.
|
||||||
|
* PPC+musl users can now workaround some issues building PPC-specific
|
||||||
|
backtrace code by adding
|
||||||
|
TCMALLOC_DISABLE_PPC_FRAME_POINTER_BACKTRACER preprocessor
|
||||||
|
define. Much thanks to Josef Schlehofer for reporting the
|
||||||
|
problem. See details in
|
||||||
|
https://github.com/gperftools/gperftools/issues/1602.
|
||||||
|
* Jackie Cui has contributed a small change to the page heap span
|
||||||
|
selection logic that makes a big difference in reducing the amount
|
||||||
|
of used memory in some workloads. See
|
||||||
|
https://github.com/gperftools/gperftools/pull/1604 for further
|
||||||
|
details.
|
||||||
|
* [headline] heap leak checker has been amputated, as promised earlier
|
||||||
|
* [headline] we don't ship pprof anymore. People need to get modern
|
||||||
|
and awesome pprof implementation from github.com/google/pprof
|
||||||
|
* we now have some basic CI infrastructure via Github Actions
|
||||||
|
* we now have basic Bazel support
|
||||||
|
* our docs have been slightly updated and converted to AsciiDoc format
|
||||||
|
* we now implement C23 free{,_aligned}_sized functions (but no libc-s
|
||||||
|
offer those yet anyway)
|
||||||
|
* FreeBSD bits don't depend on procfs anymore (proc maps iterator was
|
||||||
|
broken anyway; now it works)
|
||||||
|
* we don't offer mmap profiling anymore. It wasn't entirely complete
|
||||||
|
for some years now, and killing it has eliminated a lot of
|
||||||
|
complexity. MMap hooks are still part of ABI, but they do nothing.
|
||||||
|
2.16
|
||||||
|
* we've upgraded our C++ standard to C++ 17. Some fraction of our code
|
||||||
|
base was modernized.
|
||||||
|
* We've integrated (vendored copy of) GoogleTest, and most tests now
|
||||||
|
use it. GoogleTest has helped us eliminate some legacy code and
|
||||||
|
reduce the number of tests that use shell scripts.
|
||||||
|
* There are no more unnecessary wrappers around mutexes and threads
|
||||||
|
for unit tests. We now use C++ standard mutexes and threads in our
|
||||||
|
tests.
|
||||||
|
* We've done the bulk of the work necessary to enable hidden
|
||||||
|
visibility. The most significant change is that tests no longer
|
||||||
|
reach into libtcmalloc's guts. We use a special TestingPortal
|
||||||
|
interface instead. We now offer the --enable-hidden-visibility
|
||||||
|
configure option, which does what it says. But please note that
|
||||||
|
hidden visibility is off by default for now.
|
||||||
|
* autotools build was significantly refactored, modernized and
|
||||||
|
simplified.
|
||||||
|
* The cmake build has also been radically simplified. The previous
|
||||||
|
version attempted to duplicate the same complexity that we had in
|
||||||
|
the autotools build and did not do it very well. More tests now pass
|
||||||
|
under cmake. But please note that cmake support is still not
|
||||||
|
entirely functional, and we're not yet able to promise anything
|
||||||
|
about it.
|
||||||
|
* Thread-local storage access and emergency malloc integration have
|
||||||
|
been reworked. We now support emergency malloc even on systems with
|
||||||
|
emutls and similarly "bad" TLS support. As a result, backtracing is
|
||||||
|
now more reliable (e.g., on QNX).
|
||||||
|
* OSX operator new/delete performance has been improved. OSX's malloc
|
||||||
|
performance is badly compromised by its support of malloc zones, so
|
||||||
|
we cannot help much (the same applies to much of our competition
|
||||||
|
among memory allocators). But the C++ new/delete API doesn't have to
|
||||||
|
integrate with this stuff, so we now directly replace those
|
||||||
|
functions for a sizeable speedup. Note that OSX performance is still
|
||||||
|
not on par with other "prime tier" OSes due to its lack of efficient
|
||||||
|
TLS support.
|
||||||
|
* Long deprecated google/ headers have been deleted (use, e.g.,
|
||||||
|
"gperftools/tcmalloc.h" instead)
|
||||||
|
* All clang builds now use -Wthread-safety and actually check
|
||||||
|
thread-safety declarations
|
||||||
|
* Our code has stopped being incompatible with _TIME_BITS=64 on modern
|
||||||
|
GNU Linux systems (relevant only for 32-bit systems)
|
||||||
|
* OpenSolaris build has been verified and fixed when needed
|
||||||
|
- removed patches
|
||||||
|
- gperftools_fix_unassigned_malloc_in_unittest.patch (not needed)
|
||||||
|
- added patches
|
||||||
|
+ gperftools-no-profiledata_unittest.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jan 28 12:32:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
Sun Jan 28 12:32:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package gperftools
|
# spec file for package gperftools
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -17,15 +17,17 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: gperftools
|
Name: gperftools
|
||||||
Version: 2.15
|
Version: 2.17.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Performance Tools for C++
|
Summary: Performance Tools for C++
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
URL: https://github.com/gperftools/gperftools
|
URL: https://github.com/gperftools/gperftools
|
||||||
Source0: %{url}/releases/download/gperftools-%{version}/gperftools-%{version}.tar.gz
|
Source0: %{url}/releases/download/gperftools-%{version}/gperftools-%{version}.tar.gz
|
||||||
Patch1: %{name}_fix_unassigned_malloc_in_unittest.patch
|
|
||||||
Patch2: %{name}_gcc46.patch
|
Patch2: %{name}_gcc46.patch
|
||||||
|
# profiledata_unittest fails (aborts) during osc build, but succeeds
|
||||||
|
# after chroot to buildroot & make check
|
||||||
|
Patch3: gperftools-no-profiledata_unittest.patch
|
||||||
BuildRequires: autoconf >= 2.59
|
BuildRequires: autoconf >= 2.59
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@@ -156,6 +158,11 @@ export CFLAGS="%{optflags} -fno-strict-aliasing $VALGRIND_FL"
|
|||||||
--docdir=%{_defaultdocdir}/%{name}
|
--docdir=%{_defaultdocdir}/%{name}
|
||||||
%make_build
|
%make_build
|
||||||
|
|
||||||
|
%check
|
||||||
|
%ifnarch i586
|
||||||
|
make check
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%make_install
|
||||||
find %{buildroot} -type f -name "*.la" -delete -print
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
@@ -174,7 +181,6 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%postun -n libtcmalloc_and_profiler4 -p /sbin/ldconfig
|
%postun -n libtcmalloc_and_profiler4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%{_bindir}/pprof-symbolize
|
|
||||||
|
|
||||||
%files -n libprofiler0
|
%files -n libprofiler0
|
||||||
%{_libdir}/libprofiler.so.0*
|
%{_libdir}/libprofiler.so.0*
|
||||||
@@ -195,7 +201,6 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%{_libdir}/libtcmalloc_and_profiler.so.4*
|
%{_libdir}/libtcmalloc_and_profiler.so.4*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/google
|
|
||||||
%{_includedir}/gperftools
|
%{_includedir}/gperftools
|
||||||
%{_libdir}/libprofiler.so
|
%{_libdir}/libprofiler.so
|
||||||
%{_libdir}/libtcmalloc.so
|
%{_libdir}/libtcmalloc.so
|
||||||
|
@@ -1,13 +0,0 @@
|
|||||||
Index: google-perftools-1.8/src/tests/heap-checker_unittest.cc
|
|
||||||
===================================================================
|
|
||||||
--- google-perftools-1.8.orig/src/tests/heap-checker_unittest.cc
|
|
||||||
+++ google-perftools-1.8/src/tests/heap-checker_unittest.cc
|
|
||||||
@@ -681,7 +681,7 @@ static void ScopedDisabledLeaks() {
|
|
||||||
HeapLeakChecker::Disabler disabler;
|
|
||||||
AllocHidden(3 * sizeof(int));
|
|
||||||
TransLeaks();
|
|
||||||
- (void)malloc(10); // Direct leak
|
|
||||||
+ void* p = malloc(10); // Direct leak
|
|
||||||
}
|
|
||||||
|
|
||||||
// have different disabled leaks
|
|
@@ -1,8 +1,8 @@
|
|||||||
Index: gperftools-2.13/src/base/elf_mem_image.h
|
Index: gperftools-2.17.2/src/base/elf_mem_image.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gperftools-2.13.orig/src/base/elf_mem_image.h
|
--- gperftools-2.17.2.orig/src/base/elf_mem_image.h
|
||||||
+++ gperftools-2.13/src/base/elf_mem_image.h
|
+++ gperftools-2.17.2/src/base/elf_mem_image.h
|
||||||
@@ -47,6 +47,7 @@
|
@@ -44,6 +44,7 @@
|
||||||
|
|
||||||
#define HAVE_ELF_MEM_IMAGE 1
|
#define HAVE_ELF_MEM_IMAGE 1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user