| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: gperftools | Distribution: openSUSE Tumbleweed |
| Version: 2.17.2 | Vendor: openSUSE |
| Release: 1.1 | Build date: Tue Sep 2 12:45:33 2025 |
| Group: Development/Libraries/C and C++ | Build host: reproducible |
| Size: 0 | Source RPM: gperftools-2.17.2-1.1.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://github.com/gperftools/gperftools | |
| Summary: Performance Tools for C++ | |
The gperftools package contains some utilities to improve and analyze the performance of C++ programs. This includes an optimized thread-caching malloc() and cpu and heap profiling utilities.
BSD-3-Clause
* Tue Sep 02 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 2024 Dirk Müller <dmueller@suse.com>
- update to 2.15:
* Mikael Simberg and Tom "spot" Callaway have pointed out the
missing symbols issue when linking PPC or i386
builds.
* Roman Geissler has contributed a fix to nasty initialization
bug introduced in 2.13 (see github issue #1452 for one example
where it fails).
* spinlock delay support now has proper windows support.
Instead of simply sleeping, it uses WaitOnAddress (which is
basically windows equivalent of futexes). This improvement was
contributed by Lennox Ho.
* we now have basic QNX support (basic malloc + heap profiler)
championed by Xiang.Lin. Thanks! Do note, however, that QNX
doesn't provide SIGPROF ticks, so there will be no cpu profiler
support on this OS.
* several people have contributed various improvements to our
cmake build: Lennox Ho, Sergey Fedorov, Mateusz Jakub Fila. But
do note that cmake build is still incomplete and best-effort.
* Julian Schroeder have fixed generic_fp incompatibility with
ARM pointer auth.
* Mateusz Jakub Fila has contributed implementation of
mallocinfo2 function (64-bit version of mallinfo).
* Lennox Ho has contributed the ability to disable malloc
functions patching on windows when TCMALLOC_DISABLE_REPLACEMENT=1
environment variable is set.
* User poljak181 has contributed a fix to infinite recursion in
some cases of malloc hooks (or user-replaced operator new) and
MallocExtension::instance().
* Sergey Fedorov has contributed a fix to use MAP_ANON on some
older OSes without MAP_ANONYMOUS.
* the way we detect working ucontext->pc extraction method was
reworked and is now fully compile-time as opposed to
config-time. This means no more duplication and mismatches
between autoconf and cmake bits in this area.
* Fri Sep 29 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 2.13:
* generic_fp backtracing method now uses robust address probing method.
The previous approach had occasional false positives, which caused
occasional rare crashes.
* fix pkg-config files
* we now support HEAPPROFILE_USE_PID and CPUPROFILE_USE_PID environment
variables that force profile filenames to have pid appended.
Which will be useful for some programs that fork for parallelism
* MPI detection has been extended
* Sun Jul 10 2022 Callum Farmer <gmbr3@opensuse.org>
- Update to 2.10:
* Added debugallocator feature to use readable (PROT_READ) fence pages.
* fix for cmake detection of libunwind.
* fix for OSX Monterey support.
* support for returning memory back to OS by using mmap with MAP_FIXED and PROT_NONE
* basic support for LoongArch.
* Mon May 09 2022 Andreas Schwab <schwab@suse.de>
- Enable use of libunwind on riscv64
* Sat May 22 2021 Callum Farmer <gmbr3@opensuse.org>
- Follow shared library packaging policy
* Wed Mar 17 2021 Callum Farmer <gmbr3@opensuse.org>
- Update to 2.9.1:
* usage of unsupportable linux_syscall_support.h has been
removed from few places.
* Incorrect assertion failure was fixed that crashed tcmalloc
if assertions were on and sized delete was used
* there is now better backtracing support for aarch64 and riscv
x86-64 with frame pointers now also defaults to this new
"generic" frame pointer backtracer.
- Use golang version of pprof
- Split doc into subpackage
* Fri Jan 08 2021 Andreas Schwab <schwab@suse.de>
- Enable build on riscv64
- No libunwind-coredump on powerpc
* Tue Jan 05 2021 Paolo Stivanin <info@paolostivanin.com>
- Update to 2.8.1:
* previous release contained change to release memory without page
heap lock, but this change had at least one bug that caused to
crashes and corruption when running under aggressive decommit mode
(this is not default). While we check for other bugs, this feature
was reverted. See github issue #1204 and issue #1227.
* stack traces depth captured by gperftools is now up to 254 levels
deep
* updated detection of program counter
* ProfilerGetStackTrace is now officially supported API for
libprofiler
* for compiling linux syscall support on i386 and recent GCCs
* test failures caused by new gcc 10 optimizations were fixed. Same
change also fixed tests on clang.
- Drop ppc64-fix-367fd5731a8c68225cb870aa656ea0ce677fe040.patch
- Drop gcc-dont-clobber-rsp.patch
* Fri Sep 04 2020 Jan Engelhardt <jengelh@inai.de>
- Add ExclusiveArch declaration to specfile.
- Trim some old specfile constructs.
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Oct 23 23:06:42 2025