Changelog for
libtcmalloc_minimal_debug4-2.15-lp156.86.1.x86_64.rpm :
* Sun Jan 28 2024 Dirk Müller
- 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 - 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 - 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 - Enable use of libunwind on riscv64
* Sat May 22 2021 Callum Farmer - Follow shared library packaging policy
* Wed Mar 17 2021 Callum Farmer - 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 - Enable build on riscv64- No libunwind-coredump on powerpc
* Tue Jan 05 2021 Paolo Stivanin - 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 - Add ExclusiveArch declaration to specfile.- Trim some old specfile constructs.
* Fri Aug 02 2019 Martin Liška - Use FAT LTO objects in order to provide proper static library.
* Tue Mar 05 2019 Martin Liška - Add ppc64-fix-367fd5731a8c68225cb870aa656ea0ce677fe040.patch in order to address power targets.
* Fri Feb 15 2019 Martin Liška - Update to version 2.7:
* bug in span stats printing introduced by new scalable page heap change was fixed.
* Christoph Müllner has contributed couple warnings fixes and initial support for aarch64_ilp32 architecture.
* Ben Dang contributed documentation fix for heap checker.
* Fabrice Fontaine contributed fixed for linking benchmarks with --disable-static.
* Holy Wu has added sized deallocation unit tests.
* Holy Wu has enabled support of sized deallocation (c++14) on recent MSVC.
* Holy Wu has fixed MSVC build in WIN32_OVERRIDE_ALLOCATORS mode. This closed issue #716.
* Holy Wu has contributed cleanup of config.h used on windows.
* Mao Huang has contributed couple simple tcmalloc changes from chromium code base. Making our tcmalloc forks a tiny bit closer.
* issue #946 that caused compilation failures on some Linux clang installations has been fixed. Much thanks to github user htuch for helping to diagnose issue and proposing a fix.
* Tulio Magno Quites Machado Filho has contributed build-time fix for PPC (for problem introduced in one of commits since RC).- Add gcc-dont-clobber-rsp.patch (bsc#1121265).- Remove ucontext.patch, gperftools-s390.patch and gperftools-aarch64.patch patches.
* Tue May 08 2018 mrosteckiAATTsuse.com- Add devel-static package, which is needed for building Envoy (https://www.envoyproxy.io/) and Cilium with Envoy integration
* Sun Mar 25 2018 roAATTsuse.de- add patch gperftools-aarch64.patch (bsc#1086762) (analog upstream commit 02eeed29df112728564a5dde6417fa4622b57a06) fix build on aarch64 by removing conflicting mmap definition
* Thu Mar 15 2018 roAATTsuse.de- add patch gperftools-s390.patch to fix build on s390 (bnc#1085398) (basically git commit bf8eacce69df877d1cecdab8c7a6cc3f218ebcc2)
* Wed Mar 14 2018 roAATTsuse.de- do not buildrequire valgrind on s390, only exists on s390x
* Thu Aug 10 2017 schwabAATTsuse.de- ucontext.patch: fix use of ucontext_t
* Fri Mar 31 2017 fcrozatAATTsuse.com- Don\'t BuildRequires libunwind-devel on s390
*, it doesn\'t exist there.
* Tue Aug 02 2016 jslabyAATTsuse.com- use valgrind from system, not the custom one
* Tue Mar 22 2016 cgardnerAATTsuse.com- gperftools 2.5, available 12 March 2016. See https://github.com/gperftools/gperftools/releases
* Bryan Chan has contributed s390x support
* stacktrace capturing via libgcc\'s _Unwind_Backtrace was implemented (for architectures with missing or broken libunwind).
* \"emergency malloc\" was implemented. Which unbreaks recursive calls to malloc/free from stacktrace capturing functions (such us glib\'c backtrace() or libunwind on arm). It is enabled by - -enable-emergency-malloc configure flag or by default on arm when - -enable-stacktrace-via-backtrace is given. It is another fix for a number common issues people had on platforms with missing or broken libunwind.
* C++14 sized-deallocation is now supported (on gcc 5 and recent clangs). It is off by default and can be enabled at configure time via --enable-sized-delete. On GNU/Linux it can also be enabled at run-time by either TCMALLOC_ENABLE_SIZED_DELETE environment variable or by defining tcmalloc_sized_delete_enabled function which should return 1 to enable it.
* we\'ve lowered default value of transfer batch size to 512. Previous value (bumped up in 2.1) was too high and caused performance regression for some users. 512 should still give us performance boost for workloads that need higher transfer batch size while not penalizing other workloads too much.
* Brian Silverman\'s patch finally stopped arming profiling timer unless profiling is started.
* Andrew Morrow has contributed support for obtaining cache size of the current thread and softer idling (for use in MongoDB).
* we\'ve implemented few minor performance improvements, particularly on malloc fast-path.
* issue that caused spurious profiler_unittest.sh failures was fixed.
* Jonathan Lambrechts contributed improved callgrind format support to pprof.
* Matt Cross contributed better support for debug symbols in separate files to pprof.
* Matt Cross contributed support for printing collapsed stack frame from pprof aimed at producing flame graphs.
* Angus Gratton has contributed documentation fix mentioning that on windows only tcmalloc_minimal is supported.
* Anton Samokhvalov has made tcmalloc use mi_force_{un,}lock on OSX instead of pthread_atfork. Which apparently fixes forking issues tcmalloc had on OSX.
* Milton Chiang has contributed support for building 32-bit gperftools on arm8.
* Patrick LoPresti has contributed support for specifying alternative profiling signal via CPUPROFILE_TIMER_SIGNAL environment variable.
* Paolo Bonzini has contributed support configuring filename for sending malloc tracing output via TCMALLOC_TRACE_FILE environment variable.
* user spotrh has enabled use of futex on arm.
* user mitchblank has contributed better declaration for arg-less profiler functions.
* Tom Conerly contributed proper freeing of memory allocated in HeapProfileTable::FillOrderedProfile on error paths.
* user fdeweerdt has contributed curl arguments handling fix in pprof
* Frederik Mellbin fixed tcmalloc\'s idea of mangled new and delete symbols on windows x64
* Dair Grant has contributed cacheline alignment for ThreadCache objects
* Fredrik Mellbin has contributed updated windows/config.h for Visual Studio 2015 and other windows fixes.
* we\'re not linking libpthread to libtcmalloc_minimal anymore. Instead libtcmalloc_minimal links to pthread symbols weakly. As a result single-threaded programs remain single-threaded when linking to or preloading libtcmalloc_minimal.so.
* Boris Sazonov has contributed mips compilation fix and printf misue in pprof.
* Adhemerval Zanella has contributed alignment fixes for statically allocated variables.
* Jens Rosenboom has contributed fixes for heap-profiler_unittest.sh
* gshirishfree has contributed better description for GetStats method.
* cyshi has contributed spinlock pause fix.
* Chris Mayo has contributed --docdir argument support for configure.
* Duncan Sands has contributed fix for function aliases.
* Simon Que contributed better include for malloc_hook_c.h
* user wmamrak contributed struct timespec fix for Visual Studio 2015.
* user ssubotin contributed typo in PrintAvailability code.
* build fix for Visual Studio.
* dynamic sized delete is now disabled by default. It turned out that IFUNC relocations are not supporting our advanced use case on all platforms and in all cases.- Removed the following patches. All have either been incorporated upstream or are no longer applicable in current distros.
* gperftools-fix_docdir.patch
* Sat Oct 31 2015 mpluskalAATTsuse.com- Update project and download url- Tiny spec file cleanup with spec-cleaner
* Sat Jan 10 2015 cgardnerAATTsuse.com- gperftools 2.4, available 10 Jan 2015. Skipped version 2.3, release 7 Dec 2014. 2.3 changes included:
* ( issue 631 ) fixed debugallocation miscompilation on mmap-less platforms (courtesy of user iamxujian)
* ( issue 630 ) reference to wrong PROFILE (vs. correct CPUPROFILE) environment variable was fixed (courtesy of WenSheng He)
* pprof now has option to display stack traces in output for heap checker (courtesy of Michael Pasieka)
* ( issue 636 ) pprof web command now works on mingw
* ( issue 635 ) pprof now handles library paths that contain spaces (courtesy of user mich...AATTsebesbefut.com)
* ( issue 637 ) pprof now has an option to not strip template arguments (patch by jiakai)
* ( issue 644 ) possible out-of-bounds access in GetenvBeforeMain was fixed (thanks to user abyss.7)
* ( issue 641 ) pprof now has an option --show_addresses (thanks to user yurivict). New option prints instruction address in addition to function name in stack traces
* ( issue 646 ) pprof now works around some issues of addr2line reportedly when DWARF v4 format is used (patch by Adam McNeeney)
* ( issue 645 ) heap profiler exit message now includes remaining memory allocated info (patch by user yurivict)
* pprof code that finds location of /proc/pid/maps in cpu profile files is now fixed (patch by Ricardo M. Correia)
* ( issue 654 ) pprof now handles \"split text segments\" feature of Chromium for Android (patch by simonb)
* ( issue 655 ) potential deadlock on windows caused by early call to getenv in malloc initialization code was fixed (bug reported and fix proposed by user zndmitry)
* incorrect detection of arm 6zk instruction set support (-mcpu=arm1176jzf-s) was fixed. (Reported by pedronavf on old issue-493)
* new cpu profiling mode on Linux is now implemented. It sets up separate profiling timers for separate threads. Which improves accuracy of profiling on Linux a lot. It is off by default. And is enabled if both librt.f is loaded and CPUPROFILE_PER_THREAD_TIMERS environment variable is set. But note that all threads need to be registered via ProfilerRegisterThread. Changes for version 2.4~rc
* enabled aggressive decommit option by default. It was found to significantly improve memory fragmentation with negligible impact on performance. (Thanks to investigation work performed by Adhemerval Zanella)
* added ./configure flags for tcmalloc pagesize and tcmalloc allocation alignment. Larger page sizes have been reported to improve performance occasionally. (Patch by Raphael Moreira Zinsly)
* sped-up hot-path of malloc/free. By about 5% on static library and about 10% on shared library. Mainly due to more efficient checking of malloc hooks.
* improved accuracy of stacktrace capturing in cpu profiler (due to issue found by Arun Sharma). As part of that issue pprof\'s handling of cpu profiles was also improved.- Removed missing_includes.patch; incorporated upstream.