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>
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# 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
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,15 +17,17 @@
|
||||
|
||||
|
||||
Name: gperftools
|
||||
Version: 2.15
|
||||
Version: 2.17.2
|
||||
Release: 0
|
||||
Summary: Performance Tools for C++
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: https://github.com/gperftools/gperftools
|
||||
Source0: %{url}/releases/download/gperftools-%{version}/gperftools-%{version}.tar.gz
|
||||
Patch1: %{name}_fix_unassigned_malloc_in_unittest.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: automake
|
||||
BuildRequires: gcc-c++
|
||||
@@ -156,6 +158,11 @@ export CFLAGS="%{optflags} -fno-strict-aliasing $VALGRIND_FL"
|
||||
--docdir=%{_defaultdocdir}/%{name}
|
||||
%make_build
|
||||
|
||||
%check
|
||||
%ifnarch i586
|
||||
make check
|
||||
%endif
|
||||
|
||||
%install
|
||||
%make_install
|
||||
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
|
||||
|
||||
%files
|
||||
%{_bindir}/pprof-symbolize
|
||||
|
||||
%files -n libprofiler0
|
||||
%{_libdir}/libprofiler.so.0*
|
||||
@@ -195,7 +201,6 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
||||
%{_libdir}/libtcmalloc_and_profiler.so.4*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/google
|
||||
%{_includedir}/gperftools
|
||||
%{_libdir}/libprofiler.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.13/src/base/elf_mem_image.h
|
||||
@@ -47,6 +47,7 @@
|
||||
--- gperftools-2.17.2.orig/src/base/elf_mem_image.h
|
||||
+++ gperftools-2.17.2/src/base/elf_mem_image.h
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
#define HAVE_ELF_MEM_IMAGE 1
|
||||
|
||||
|
Reference in New Issue
Block a user