Sync from SUSE:SLFO:Main gperftools revision 89c9573385c1b0fcd367033371f8e397
This commit is contained in:
commit
96ab6c446a
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
BIN
gperftools-2.13.tar.gz
(Stored with Git LFS)
Normal file
BIN
gperftools-2.13.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
512
gperftools.changes
Normal file
512
gperftools.changes
Normal file
@ -0,0 +1,512 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 29 08:10:03 UTC 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 12:06:26 UTC 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 9 08:57:17 UTC 2022 - Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
- Enable use of libunwind on riscv64
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 22 19:21:49 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>
|
||||||
|
|
||||||
|
- Follow shared library packaging policy
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 17 15:24:53 UTC 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 8 19:27:51 UTC 2021 - Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
- Enable build on riscv64
|
||||||
|
- No libunwind-coredump on powerpc
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 5 08:23:07 UTC 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 4 20:33:52 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Add ExclusiveArch declaration to specfile.
|
||||||
|
- Trim some old specfile constructs.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 2 07:00:37 UTC 2019 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Use FAT LTO objects in order to provide proper static library.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 5 15:31:55 UTC 2019 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Add ppc64-fix-367fd5731a8c68225cb870aa656ea0ce677fe040.patch
|
||||||
|
in order to address power targets.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 15 09:37:39 UTC 2019 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- 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 8 14:54:18 UTC 2018 - mrostecki@suse.com
|
||||||
|
|
||||||
|
- Add devel-static package, which is needed for building Envoy
|
||||||
|
(https://www.envoyproxy.io/) and Cilium with Envoy integration
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 26 00:35:41 CEST 2018 - ro@suse.de
|
||||||
|
|
||||||
|
- add patch gperftools-aarch64.patch (bsc#1086762)
|
||||||
|
(analog upstream commit 02eeed29df112728564a5dde6417fa4622b57a06)
|
||||||
|
fix build on aarch64 by removing conflicting mmap definition
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 15 01:43:38 CET 2018 - ro@suse.de
|
||||||
|
|
||||||
|
- add patch gperftools-s390.patch to fix build on s390
|
||||||
|
(bnc#1085398)
|
||||||
|
(basically git commit bf8eacce69df877d1cecdab8c7a6cc3f218ebcc2)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 14 18:38:44 CET 2018 - ro@suse.de
|
||||||
|
|
||||||
|
- do not buildrequire valgrind on s390, only exists on s390x
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 10 10:17:23 UTC 2017 - schwab@suse.de
|
||||||
|
|
||||||
|
- ucontext.patch: fix use of ucontext_t
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 31 15:23:59 UTC 2017 - fcrozat@suse.com
|
||||||
|
|
||||||
|
- Don't BuildRequires libunwind-devel on s390*, it doesn't exist
|
||||||
|
there.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 2 08:45:28 UTC 2016 - jslaby@suse.com
|
||||||
|
|
||||||
|
- use valgrind from system, not the custom one
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 22 13:33:02 UTC 2016 - cgardner@suse.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 13:35:12 UTC 2015 - mpluskal@suse.com
|
||||||
|
|
||||||
|
- Update project and download url
|
||||||
|
- Tiny spec file cleanup with spec-cleaner
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 10 16:30:24 UTC 2015 - cgardner@suse.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...@sebesbefut.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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 28 18:44:03 UTC 2014 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Implement shlib packaging guidelines: split libraries
|
||||||
|
- Improve on RPM group classification
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 15 00:33:02 CEST 2014 - ro@suse.de
|
||||||
|
|
||||||
|
- set excludearch for s390 and s390x: not ported there
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 16 10:51:46 UTC 2014 - dvaleev@suse.com
|
||||||
|
|
||||||
|
- fix issue 628 (gperftools 2.2 fails to build on powerpc)
|
||||||
|
missing_includes.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 19 15:39:40 UTC 2014 - cgardner@suse.com
|
||||||
|
|
||||||
|
- gperftools 2.2, released 3 May 2014.
|
||||||
|
* issue 620 (crash on windows when c runtime dll is reloaded) was
|
||||||
|
fixed
|
||||||
|
* a number of fixes for a number compilers and platforms. Notably
|
||||||
|
Visual Studio 2013, recent mingw with c++ threads and some OSX
|
||||||
|
fixes.
|
||||||
|
* we now have mips and mips64 support! (courtesy of Jovan Zelincevic,
|
||||||
|
Jean Lee, user xiaoyur347 and others)
|
||||||
|
* we now have aarch64 (aka arm64) support! (contributed by Riku
|
||||||
|
Voipio)
|
||||||
|
* there's now support for ppc64-le (by Raphael Moreira Zinsly and
|
||||||
|
Adhemerval Zanella)
|
||||||
|
* there's now some support of uclibc (contributed by user xiaoyur347)
|
||||||
|
* google/ headers will now give you deprecation warning. They are
|
||||||
|
deprecated since 2.0
|
||||||
|
* there's now new api: tc_malloc_skip_new_handler (ported from chromium
|
||||||
|
fork)
|
||||||
|
* issue-557: added support for dumping heap profile via signal (by
|
||||||
|
Jean Lee)
|
||||||
|
* issue-567: Petr Hosek contributed SysAllocator support for windows
|
||||||
|
* Joonsoo Kim contributed several speedups for central freelist code
|
||||||
|
* TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES environment variable now works
|
||||||
|
* configure scripts are now using AM_MAINTAINER_MODE. It'll only
|
||||||
|
affect folks who modify source from .tar.gz and want automake to
|
||||||
|
automatically rebuild Makefile-s. See automake documentation for
|
||||||
|
that.
|
||||||
|
* issue-586: detect main executable even if PIE is active (based on
|
||||||
|
patch by user themastermind1). Notably, it fixes profiler use with
|
||||||
|
ruby.
|
||||||
|
* there is now support for switching backtrace capturing method at
|
||||||
|
runtime (via TCMALLOC_STACKTRACE_METHOD and
|
||||||
|
TCMALLOC_STACKTRACE_METHOD_VERBOSE environment variables)
|
||||||
|
* there is new backtrace capturing method using -finstrument-functions
|
||||||
|
prologues contributed by user xiaoyur347
|
||||||
|
* few cases of crashes/deadlocks in profiler were addressed. See
|
||||||
|
(famous) issue-66, issue-547 and issue-579.
|
||||||
|
* issue-464 (memory corruption in debugalloc's realloc after
|
||||||
|
memallign) is now fixed
|
||||||
|
* tcmalloc is now able to release memory back to OS on windows
|
||||||
|
(issue-489). The code was ported from chromium fork (by a number of
|
||||||
|
authors).
|
||||||
|
* Together with issue-489 we ported chromium's "aggressive decommit"
|
||||||
|
mode. In this mode (settable via malloc extension and via
|
||||||
|
environment variable TCMALLOC_AGGRESSIVE_DECOMMIT), free pages are
|
||||||
|
returned back to OS immediately.
|
||||||
|
* MallocExtension::instance() is now faster (based on patch by
|
||||||
|
Adhemerval Zanella)
|
||||||
|
* issue-610 (hangs on windows in multibyte locales) is now fixed
|
||||||
|
- Removed the following patches. All have either been incorporated
|
||||||
|
upstream or are no longer applicable in current distros.
|
||||||
|
* gperftools_fix_multiple_install_headers.patch
|
||||||
|
* gperftools-glibc216.patch
|
||||||
|
* spinlock-rand.patch
|
||||||
|
* gperftools_use_older_autoconf.diff
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 12 15:49:12 UTC 2013 - cgardner@suse.com
|
||||||
|
|
||||||
|
- Fixed configure.ac to use older version of autoconf, so that
|
||||||
|
gperftools can build for SLE10.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 30 17:44:01 UTC 2013 - cgardner@suse.com
|
||||||
|
|
||||||
|
- gperftools 2.1, released 30 July 2013.
|
||||||
|
* fixes for building on newer platforms. Notably, there's now initial
|
||||||
|
support for x32 ABI (--enable-minimal only at this time))
|
||||||
|
* Some fixes for debug allocation on POWER/Linux
|
||||||
|
* new getNumericProperty stats for cache sizes
|
||||||
|
* added HEAP_PROFILER_TIME_INTERVAL variable (see documentation)
|
||||||
|
* added environment variable to control heap size (TCMALLOC_HEAP_LIMIT_MB)
|
||||||
|
* added environment variable to disable release of memory back to OS
|
||||||
|
(TCMALLOC_DISABLE_MEMORY_RELEASE)
|
||||||
|
* cpu profiler can now be switched on and off by sending it a signal
|
||||||
|
(specified in CPUPROFILESIGNAL)
|
||||||
|
* (issue 491) fixed race-ful spinlock wake-ups
|
||||||
|
* (issue 496) added some support for fork-ing of process that is using
|
||||||
|
tcmalloc
|
||||||
|
* (issue 368) improved memory fragmentation when large chunks of
|
||||||
|
memory are allocated/freed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 27 11:08:09 UTC 2012 - dvaleev@suse.com
|
||||||
|
|
||||||
|
- spinlock-rand.patch fixes an issue encountered on PPC with
|
||||||
|
undefined conversions from 'base::subtle::Atomic64*' to 'const
|
||||||
|
volatile Atomic32*'
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 22 07:47:04 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- replace struct siginfo with siginfo_t since the former is not
|
||||||
|
available with glibc 2.16 anymore.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 14 13:25:33 UTC 2012 - cfarrell@suse.com
|
||||||
|
|
||||||
|
- license update: BSD-3-Clause
|
||||||
|
SPDX format
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 17 11:23:45 CET 2012 - hmacht@suse.de
|
||||||
|
|
||||||
|
- enable build with libunwind
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 16 22:17:11 UTC 2012 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- Remove redundant tags/sections from specfile
|
||||||
|
- Simply file lists (why would mode 0775 be needed anyway?)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 16 15:37:36 UTC 2012 - cgardner@suse.com
|
||||||
|
|
||||||
|
- Fix make target.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 16 11:28:14 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
- Remove redudant tags/sections
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 7 18:12:39 UTC 2012 - cgardner@suse.com
|
||||||
|
|
||||||
|
- gperftools 2.0, released 3 Feb 2012.
|
||||||
|
- Primarily renamed from google-perftools to gperftools, with ownership
|
||||||
|
shifted from Google to the community.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 24 19:05:13 UTC 2011 - cgardner@suse.com
|
||||||
|
|
||||||
|
- Version 1.9.1, released 23 Dec 2011.
|
||||||
|
* google-perftools: version 1.9 release
|
||||||
|
* Lightweight check for double-frees (blount)
|
||||||
|
* BUGFIX: Fix pprof to exit properly if run with no args (dagitses)
|
||||||
|
* Suggest ASan as a way to diagnose buggy code (ppluzhnikov)
|
||||||
|
* Get rid of unused CACHELINE_SIZE (csilvers)
|
||||||
|
* Replace atexit() calls with global dtors; helps freebsd (csilvers)
|
||||||
|
* Disable heap-checker under AddressSanitizer (kcc)
|
||||||
|
* Fix bug in powerpc stacktracing (ppluzhnikov)
|
||||||
|
* PERF: Use exponential backoff waiting for spinlocks (m3b)
|
||||||
|
* Fix 64-bit nm on 32-bit binaries in pprof (csilvers)
|
||||||
|
* Add ProfileHandlerDisallowForever (rsc)
|
||||||
|
* BUGFIX: Shell escape when forking in pprof (csilvers)
|
||||||
|
* No longer combine overloaded functions in pprof (csilvers)
|
||||||
|
* Fix address-normalizing bug in pprof (csilvers)
|
||||||
|
* More consistently call abort() instead of exit() on failure (csilvers)
|
||||||
|
* Allow NoGlobalLeaks to be safely called more than once (csilvers)
|
||||||
|
* PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm (dougkwan)
|
||||||
|
* PORTING: 64-bit atomic ops for ARMv7 (dougkwan)
|
||||||
|
* PORTING: Implement stacktrace for ARM (dougkwan)
|
||||||
|
* PORTING: Fix malloc_hook_mmap_linux for ARM (dougkwan)
|
||||||
|
* PORTING: Update linux_syscall_support.h for ARM/etc (evannier, sanek)
|
||||||
|
* PORTING: Fix freebsd to work on x86_64 (chapp...@gmail.com)
|
||||||
|
* PORTING: Added additional SYS_mmap fixes for FreeBSD (chappedm)
|
||||||
|
* PORTING: Allow us to compile on OS X 10.6 and run on 10.5 (raltherr)
|
||||||
|
* PORTING: Check for mingw compilers that *do* define timespec
|
||||||
|
* PORTING: Add "support" for MIPS cycletimer
|
||||||
|
* PORTING: Fix fallback cycle-timer to work with Now (dougkwan)
|
||||||
|
* PERF: Move stack trace collecting out of the mutex (taylorc)
|
||||||
|
* PERF: Get the deallocation stack trace outside the mutex (sean)
|
||||||
|
* Make PageHeap dynamically allocated for leak checks (maxim)
|
||||||
|
* BUGFIX: Fix probing of nm -f behavior in pprof (dpeng)
|
||||||
|
* BUGFIX: Fix a race with the CentralFreeList lock before main (sanjay)
|
||||||
|
* Support /pprof/censusprofile url arguments (rajatjain)
|
||||||
|
* Change IgnoreObject to return its argument (nlewycky)
|
||||||
|
* Update malloc-hook files to support more CPUs
|
||||||
|
* BUGFIX: write our own strstr to avoid libc problems (csilvers)
|
||||||
|
* Use simple callgrind compression facility in pprof
|
||||||
|
* Print an error message when we can't run pprof to symbolize (csilvers)
|
||||||
|
* Die in configure when g++ is't installed (csilvers)
|
||||||
|
* DOC: Beef up the documentation a bit about using libunwind (csilvers)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 15 04:47:04 UTC 2011 - coolo@suse.com
|
||||||
|
|
||||||
|
- add libtool as buildrequire to make the spec file more reliable
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 17 21:59:38 UTC 2011 - cgardner@suse.com
|
||||||
|
|
||||||
|
- Google perftools 1.8, released 15 July 2011.
|
||||||
|
|
219
gperftools.spec
Normal file
219
gperftools.spec
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
#
|
||||||
|
# spec file for package gperftools
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: gperftools
|
||||||
|
Version: 2.13
|
||||||
|
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
|
||||||
|
BuildRequires: autoconf >= 2.59
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
Provides: google-perftools = %{version}
|
||||||
|
Obsoletes: google-perftools < %{version}
|
||||||
|
Requires: pprof
|
||||||
|
# based on basictypes.h in the source tree
|
||||||
|
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le %{arm} aarch64 mips s390x riscv64
|
||||||
|
%ifnarch s390x s390
|
||||||
|
BuildRequires: pkgconfig(libunwind)
|
||||||
|
%ifarch %{ix86} x86_64 %{arm} aarch64 mips riscv64
|
||||||
|
BuildRequires: pkgconfig(libunwind-coredump)
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(libunwind-generic)
|
||||||
|
BuildRequires: pkgconfig(libunwind-ptrace)
|
||||||
|
BuildRequires: pkgconfig(libunwind-setjmp)
|
||||||
|
%endif
|
||||||
|
%ifnarch s390 riscv64
|
||||||
|
BuildRequires: pkgconfig(valgrind)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
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.
|
||||||
|
|
||||||
|
%package -n libprofiler0
|
||||||
|
Summary: CPU and Heap profiling library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libprofiler0
|
||||||
|
This subpackage contains a library with cpu and heap profiling.
|
||||||
|
|
||||||
|
%package -n libtcmalloc4
|
||||||
|
Summary: Thread-caching malloc library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libtcmalloc4
|
||||||
|
This subpackage contains a library with optimized thread-caching
|
||||||
|
malloc().
|
||||||
|
|
||||||
|
%package -n libtcmalloc_debug4
|
||||||
|
Summary: Thread-caching malloc library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libtcmalloc_debug4
|
||||||
|
This subpackage contains a library with optimized thread-caching
|
||||||
|
malloc().
|
||||||
|
|
||||||
|
%package -n libtcmalloc_minimal4
|
||||||
|
Summary: Thread-caching malloc library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libtcmalloc_minimal4
|
||||||
|
This subpackage contains a library with optimized thread-caching
|
||||||
|
malloc().
|
||||||
|
|
||||||
|
%package -n libtcmalloc_minimal_debug4
|
||||||
|
Summary: Thread-caching malloc library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libtcmalloc_minimal_debug4
|
||||||
|
This subpackage contains a library with optimized thread-caching
|
||||||
|
malloc().
|
||||||
|
|
||||||
|
%package -n libtcmalloc_and_profiler4
|
||||||
|
Summary: Thread-caching malloc library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libtcmalloc_and_profiler4
|
||||||
|
This subpackage contains a library with optimized thread-caching
|
||||||
|
malloc().
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Performance tools for C++
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: libprofiler0 = %{version}
|
||||||
|
Requires: libstdc++-devel
|
||||||
|
Requires: libtcmalloc4 = %{version}
|
||||||
|
Requires: libtcmalloc_and_profiler4 = %{version}
|
||||||
|
Requires: libtcmalloc_debug4 = %{version}
|
||||||
|
Requires: libtcmalloc_minimal4 = %{version}
|
||||||
|
Requires: libtcmalloc_minimal_debug4 = %{version}
|
||||||
|
Provides: google-perftools-devel = %{version}
|
||||||
|
Obsoletes: google-perftools-devel < %{version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The gperftools-devel package contains static and debug libraries and header
|
||||||
|
files for developing applications that use the gperftools package.
|
||||||
|
|
||||||
|
%package devel-static
|
||||||
|
Summary: Static libraries for performance tools for C++
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
The gperftools-devel-static package contains static libraries for developing
|
||||||
|
applications that use the gperftools package.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation for performance tools for C++
|
||||||
|
Group: Documentation/HTML
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
Documentation for gperftools package which contains some utilities to improve and analyze the
|
||||||
|
performance of C++ programs
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
|
autoreconf -fi
|
||||||
|
%ifnarch s390 riscv64
|
||||||
|
VALGRIND_FL=`pkg-config --cflags valgrind`
|
||||||
|
%endif
|
||||||
|
export CPPFLAGS="$VALGRIND_FL"
|
||||||
|
export CXXFLAGS="%{optflags} -fno-strict-aliasing $VALGRIND_FL"
|
||||||
|
export CFLAGS="%{optflags} -fno-strict-aliasing $VALGRIND_FL"
|
||||||
|
%configure \
|
||||||
|
--with-gnu-ld \
|
||||||
|
--with-pic \
|
||||||
|
--disable-deprecated-pprof \
|
||||||
|
--docdir=%{_defaultdocdir}/%{name}
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
|
|
||||||
|
%post -n libprofiler0 -p /sbin/ldconfig
|
||||||
|
%postun -n libprofiler0 -p /sbin/ldconfig
|
||||||
|
%post -n libtcmalloc4 -p /sbin/ldconfig
|
||||||
|
%postun -n libtcmalloc4 -p /sbin/ldconfig
|
||||||
|
%post -n libtcmalloc_debug4 -p /sbin/ldconfig
|
||||||
|
%postun -n libtcmalloc_debug4 -p /sbin/ldconfig
|
||||||
|
%post -n libtcmalloc_minimal4 -p /sbin/ldconfig
|
||||||
|
%postun -n libtcmalloc_minimal4 -p /sbin/ldconfig
|
||||||
|
%post -n libtcmalloc_minimal_debug4 -p /sbin/ldconfig
|
||||||
|
%postun -n libtcmalloc_minimal_debug4 -p /sbin/ldconfig
|
||||||
|
%post -n libtcmalloc_and_profiler4 -p /sbin/ldconfig
|
||||||
|
%postun -n libtcmalloc_and_profiler4 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_bindir}/pprof-symbolize
|
||||||
|
|
||||||
|
%files -n libprofiler0
|
||||||
|
%{_libdir}/libprofiler.so.0*
|
||||||
|
|
||||||
|
%files -n libtcmalloc4
|
||||||
|
%{_libdir}/libtcmalloc.so.4*
|
||||||
|
|
||||||
|
%files -n libtcmalloc_debug4
|
||||||
|
%{_libdir}/libtcmalloc_debug.so.4*
|
||||||
|
|
||||||
|
%files -n libtcmalloc_minimal4
|
||||||
|
%{_libdir}/libtcmalloc_minimal.so.4*
|
||||||
|
|
||||||
|
%files -n libtcmalloc_minimal_debug4
|
||||||
|
%{_libdir}/libtcmalloc_minimal_debug.so.4*
|
||||||
|
|
||||||
|
%files -n libtcmalloc_and_profiler4
|
||||||
|
%{_libdir}/libtcmalloc_and_profiler.so.4*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/google
|
||||||
|
%{_includedir}/gperftools
|
||||||
|
%{_libdir}/libprofiler.so
|
||||||
|
%{_libdir}/libtcmalloc.so
|
||||||
|
%{_libdir}/libtcmalloc_debug.so
|
||||||
|
%{_libdir}/libtcmalloc_minimal.so
|
||||||
|
%{_libdir}/libtcmalloc_minimal_debug.so
|
||||||
|
%{_libdir}/libtcmalloc_and_profiler.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
|
%files devel-static
|
||||||
|
%{_libdir}/libprofiler.a
|
||||||
|
%{_libdir}/libtcmalloc.a
|
||||||
|
%{_libdir}/libtcmalloc_debug.a
|
||||||
|
%{_libdir}/libtcmalloc_minimal.a
|
||||||
|
%{_libdir}/libtcmalloc_minimal_debug.a
|
||||||
|
%{_libdir}/libtcmalloc_and_profiler.a
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%{_docdir}/%{name}
|
||||||
|
|
||||||
|
%changelog
|
13
gperftools_fix_unassigned_malloc_in_unittest.patch
Normal file
13
gperftools_fix_unassigned_malloc_in_unittest.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
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
|
12
gperftools_gcc46.patch
Normal file
12
gperftools_gcc46.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Index: gperftools-2.13/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 @@
|
||||||
|
|
||||||
|
#define HAVE_ELF_MEM_IMAGE 1
|
||||||
|
|
||||||
|
+#include <cstddef>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <link.h> // for ElfW
|
||||||
|
|
Loading…
Reference in New Issue
Block a user