Compare commits

..

5 Commits
master ... f17

Author SHA1 Message Date
Tom Callaway 2328b87956 update to svn r190 2013-03-01 14:35:54 -05:00
Peter Robinson 01e2931b27 fix merge 2012-02-20 15:22:42 +00:00
Tom Callaway 271a0c7441 fix broken requires on devel package 2012-02-16 12:06:06 -05:00
Tom Callaway 29d9971519 drop unnecessary Requires on -libs in pprof subpackage 2012-02-14 15:15:44 -05:00
Tom Callaway dda410958d initial import 2012-02-14 15:03:47 -05:00
9 changed files with 23 additions and 2294 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/gperftools-*.tar.gz
/gperftools-2.0.tar.gz

View File

@ -1,12 +0,0 @@
diff -up gperftools-2.0/src/base/linuxthreads.cc.glibc216 gperftools-2.0/src/base/linuxthreads.cc
--- gperftools-2.0/src/base/linuxthreads.cc.glibc216 2012-08-03 10:36:20.142086568 -0400
+++ gperftools-2.0/src/base/linuxthreads.cc 2012-08-03 10:36:24.340086631 -0400
@@ -193,7 +193,7 @@ static volatile int *sig_pids, sig_num_t
/* Signal handler to help us recover from dying while we are attached to
* other threads.
*/
-static void SignalHandler(int signum, siginfo_t *si, void *data) {
+static void SignalHandler(int signum, siginfo *si, void *data) {
if (sig_pids != NULL) {
if (signum == SIGABRT) {
while (sig_num_threads-- > 0) {

File diff suppressed because it is too large Load Diff

View File

@ -1,33 +0,0 @@
diff -up gperftools-2.6.1/Makefile.am.aa gperftools-2.6.1/Makefile.am
--- gperftools-2.6.1/Makefile.am.aa 2017-10-11 15:17:39.618807653 -0400
+++ gperftools-2.6.1/Makefile.am 2017-10-11 15:17:59.331338671 -0400
@@ -97,6 +97,7 @@ endif OSX
if HAVE_OBJCOPY_WEAKEN
WEAKEN = $(OBJCOPY) -W malloc -W free -W realloc -W calloc -W cfree \
-W memalign -W posix_memalign -W valloc -W pvalloc \
+ -W aligned_alloc \
-W malloc_stats -W mallopt -W mallinfo -W nallocx \
-W _Znwm -W _ZnwmRKSt9nothrow_t -W _Znam -W _ZnamRKSt9nothrow_t \
-W _ZdlPv -W _ZdaPv \
diff -up gperftools-2.6.1/src/libc_override_gcc_and_weak.h.aa gperftools-2.6.1/src/libc_override_gcc_and_weak.h
--- gperftools-2.6.1/src/libc_override_gcc_and_weak.h.aa 2017-10-11 15:18:32.234555868 -0400
+++ gperftools-2.6.1/src/libc_override_gcc_and_weak.h 2017-10-11 15:18:38.243412911 -0400
@@ -143,6 +143,7 @@ extern "C" {
void* calloc(size_t n, size_t size) __THROW ALIAS(tc_calloc);
void cfree(void* ptr) __THROW ALIAS(tc_cfree);
void* memalign(size_t align, size_t s) __THROW ALIAS(tc_memalign);
+ void* aligned_alloc(size_t align, size_t s) __THROW ALIAS(tc_memalign);
void* valloc(size_t size) __THROW ALIAS(tc_valloc);
void* pvalloc(size_t size) __THROW ALIAS(tc_pvalloc);
int posix_memalign(void** r, size_t a, size_t s) __THROW
diff -up gperftools-2.6.1/src/libc_override_redefine.h.aa gperftools-2.6.1/src/libc_override_redefine.h
--- gperftools-2.6.1/src/libc_override_redefine.h.aa 2017-10-11 15:18:55.012013968 -0400
+++ gperftools-2.6.1/src/libc_override_redefine.h 2017-10-11 15:19:20.528406906 -0400
@@ -71,6 +71,7 @@ extern "C" {
void* calloc(size_t n, size_t s) { return tc_calloc(n, s); }
void cfree(void* p) { tc_cfree(p); }
void* memalign(size_t a, size_t s) { return tc_memalign(a, s); }
+ void* aligned_alloc(size_t a, size_t s) { return tc_memalign(a, s); }
void* valloc(size_t s) { return tc_valloc(s); }
void* pvalloc(size_t s) { return tc_pvalloc(s); }
int posix_memalign(void** r, size_t a, size_t s) {

View File

@ -1,32 +0,0 @@
diff -up ./configure.ac.dynload ./configure.ac
--- ./configure.ac.dynload 2017-08-24 15:23:01.126622099 -0400
+++ ./configure.ac 2017-08-24 15:29:46.332132222 -0400
@@ -614,6 +614,16 @@ AC_COMPILE_IFELSE(
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
+default_enable_generic_dynamic_tls=yes
+AC_ARG_ENABLE([general-dynamic-tls],
+ [AS_HELP_STRING([--disable-general-dynamic-tls],
+ [Do not use the general dynamic TLS model])],
+ [],
+ [enable_generic_dynamic_tls="$default_enable_generic_dynamic_tls"])
+AS_IF([test "x$enable_generic_dynamic_tls" = xyes],
+ [AC_DEFINE([ENABLE_GENERIC_DYNAMIC_TLS], 1,
+ [Use the generic dynamic TLS model])])
+
# Write generated configuration file
AC_CONFIG_FILES([Makefile
src/gperftools/tcmalloc.h src/windows/gperftools/tcmalloc.h])
diff -up ./src/base/basictypes.h.dynload ./src/base/basictypes.h
--- ./src/base/basictypes.h.dynload 2017-08-24 15:30:30.210996293 -0400
+++ ./src/base/basictypes.h 2017-08-24 15:31:01.889176214 -0400
@@ -200,7 +200,7 @@ struct CompileAssert {
# define ATTRIBUTE_UNUSED
#endif
-#if defined(HAVE___ATTRIBUTE__) && defined(HAVE_TLS)
+#if defined(HAVE___ATTRIBUTE__) && defined(HAVE_TLS) && defined(ENABLE_GENERIC_DYNAMIC_TLS)
#define ATTR_INITIAL_EXEC __attribute__ ((tls_model ("initial-exec")))
#else
#define ATTR_INITIAL_EXEC

View File

@ -1,13 +0,0 @@
diff -up gperftools-2.6.1/src/stacktrace_powerpc-linux-inl.h.ucontextfix gperftools-2.6.1/src/stacktrace_powerpc-linux-inl.h
--- gperftools-2.6.1/src/stacktrace_powerpc-linux-inl.h.ucontextfix 2017-07-17 15:57:42.066001611 -0400
+++ gperftools-2.6.1/src/stacktrace_powerpc-linux-inl.h 2017-07-17 15:58:04.610427563 -0400
@@ -53,7 +53,8 @@
#elif defined(HAVE_UCONTEXT_H)
#include <ucontext.h> // for ucontext_t
#endif
-typedef ucontext ucontext_t;
+// no ucontext typedef on ppc64
+// typedef ucontext ucontext_t;
// PowerPC64 Little Endian follows BE wrt. backchain, condition register,
// and LR save area, so no need to adjust the reading struct.

View File

@ -1,66 +0,0 @@
diff -ru gperftools-2.4/src/base/linux_syscall_support.h gperftools-2.4-fixed/src/base/linux_syscall_support.h
--- gperftools-2.4/src/base/linux_syscall_support.h 2014-12-06 23:51:40.000000000 +0100
+++ gperftools-2.4-fixed/src/base/linux_syscall_support.h 2015-06-01 16:51:03.725616215 +0200
@@ -83,7 +83,6 @@
* sys_fcntl(
* sys_fstat(
* sys_futex(
- * sys_futex1(
* sys_getcpu(
* sys_getdents64(
* sys_getppid(
@@ -2094,9 +2093,11 @@
int, c, long, a)
LSS_INLINE _syscall2(int, fstat, int, f,
struct kernel_stat*, b)
- LSS_INLINE _syscall4(int, futex, int*, a,
+ LSS_INLINE _syscall6(int, futex, int*, a,
int, o, int, v,
- struct kernel_timespec*, t)
+ struct kernel_timespec*, t,
+ int*, a2,
+ int, v3)
#ifdef __NR_getdents64
LSS_INLINE _syscall3(int, getdents64, int, f,
struct kernel_dirent64*, d, int, c)
diff -ru gperftools-2.4/src/base/spinlock_linux-inl.h gperftools-2.4-fixed/src/base/spinlock_linux-inl.h
--- gperftools-2.4/src/base/spinlock_linux-inl.h 2014-12-06 23:51:40.000000000 +0100
+++ gperftools-2.4-fixed/src/base/spinlock_linux-inl.h 2015-06-01 16:51:03.725616215 +0200
@@ -51,15 +51,10 @@
int x = 0;
// futexes are ints, so we can use them only when
// that's the same size as the lockword_ in SpinLock.
-#ifdef __arm__
- // ARM linux doesn't support sys_futex1(void*, int, int, struct timespec*);
- have_futex = 0;
-#else
have_futex = (sizeof (Atomic32) == sizeof (int) &&
- sys_futex(&x, FUTEX_WAKE, 1, 0) >= 0);
-#endif
+ sys_futex(&x, FUTEX_WAKE, 1, NULL, NULL, 0) >= 0);
if (have_futex &&
- sys_futex(&x, FUTEX_WAKE | futex_private_flag, 1, 0) < 0) {
+ sys_futex(&x, FUTEX_WAKE | futex_private_flag, 1, NULL, NULL, 0) < 0) {
futex_private_flag = 0;
}
}
@@ -85,7 +85,8 @@
tm.tv_nsec *= 16; // increase the delay; we expect explicit wakeups
sys_futex(reinterpret_cast<int *>(const_cast<Atomic32 *>(w)),
FUTEX_WAIT | futex_private_flag,
- value, reinterpret_cast<struct kernel_timespec *>(&tm));
+ value, reinterpret_cast<struct kernel_timespec *>(&tm),
+ NULL, 0);
} else {
nanosleep(&tm, NULL);
}
@@ -96,7 +97,8 @@
void SpinLockWake(volatile Atomic32 *w, bool all) {
if (have_futex) {
sys_futex(reinterpret_cast<int *>(const_cast<Atomic32 *>(w)),
- FUTEX_WAKE | futex_private_flag, all? INT_MAX : 1, 0);
+ FUTEX_WAKE | futex_private_flag, all? INT_MAX : 1,
+ NULL, NULL, 0);
}
}

View File

@ -1,26 +1,20 @@
# This package used to be called "google-perftools", but it was renamed on 2012-02-03.
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Name: gperftools
Version: 2.6.90
Release: 1%{?dist}
Version: 2.0
Release: 9%{?dist}
License: BSD
Group: Development/Tools
Summary: Very fast malloc and performance analysis tools
URL: https://github.com/gperftools/gperftools
Source0: https://github.com/gperftools/gperftools/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
# Conditionalize generic dynamic tls model
Patch1: gperftools-2.6.1-disable-generic-dynamic-tls.patch
ExcludeArch: s390
%ifnarch s390x
URL: http://code.google.com/p/gperftools/
Source0: http://gperftools.googlecode.com/files/%{name}-%{version}.tar.gz
# Update to latest svn, since google forgets how to make releases
Patch0: gperftools-svn-r190.patch
# ppc64 still broken, bz 238390
ExclusiveArch: %{ix86} x86_64 ppc %{arm}
%ifnarch ppc ppc64
BuildRequires: libunwind-devel
%endif
BuildRequires: perl-generators
BuildRequires: autoconf, automake, libtool
Requires: gperftools-devel = %{version}-%{release}
Requires: pprof = %{version}-%{release}
%description
Perf Tools is a collection of performance analysis tools, including a
@ -28,9 +22,6 @@ high-performance multi-threaded malloc() implementation that works
particularly well with threads and STL, a thread-friendly heap-checker,
a heap profiler, and a cpu-profiler.
This is a metapackage which pulls in all of the gperftools (and pprof)
binaries, libraries, and development headers, so that you can use them.
%package devel
Summary: Development libraries and headers for gperftools
Group: Development/Libraries
@ -61,25 +52,17 @@ Pprof is a heap and CPU profiler tool, part of the gperftools suite.
%prep
%setup -q
%patch1 -p1 -b .dynload
%patch0 -p1 -b .svn-r190
# Fix end-of-line encoding
sed -i 's/\r//' README_windows.txt
# No need to have exec permissions on source code
chmod -x src/*.h src/*.cc
autoreconf -ifv
chmod -x src/sampler.h src/sampler.cc
%build
CFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
CXXFLAGS=`echo $RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -DTCMALLOC_LARGE_PAGES | sed -e 's|-fexceptions||g'`
%configure \
%ifarch s390x aarch64
--disable-general-dynamic-tls \
%endif
--disable-dynamic-sized-delete-support \
--disable-static
CXXFLAGS=`echo $RPM_OPT_FLAGS -DTCMALLOC_LARGE_PAGES| sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g'`
%configure --disable-static
# Bad rpath!
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@ -88,30 +71,31 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make
%install
make DESTDIR=%{buildroot} docdir=%{_pkgdocdir}/ install
make DESTDIR=%{buildroot} docdir=%{_docdir}/%{name}-%{version}/ install
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
# Zero files
rm -rf %{buildroot}%{_docdir}/%{name}-%{version}/NEWS
# Delete useless files
rm -rf %{buildroot}%{_pkgdocdir}/INSTALL
rm -rf %{buildroot}%{_docdir}/%{name}-%{version}/INSTALL
%check
# http://code.google.com/p/google-perftools/issues/detail?id=153
%ifnarch ppc
# Their test suite is almost always broken.
# Their test suite is junk. Disabling.
# LD_LIBRARY_PATH=./.libs make check
%endif
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%files -n pprof
%{_bindir}/pprof
%{_mandir}/man1/*
%files devel
%{_pkgdocdir}/
%{_docdir}/%{name}-%{version}/
%{_includedir}/google/
%{_includedir}/gperftools/
%{_libdir}/*.so
@ -121,133 +105,6 @@ rm -rf %{buildroot}%{_pkgdocdir}/INSTALL
%{_libdir}/*.so.*
%changelog
* Sun Mar 25 2018 Tom Callaway <spot@fedoraproject.org> - 2.6.90-1
- update to 2.6.90
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jan 11 2018 Tom Callaway <spot@fedoraproject.org> - 2.6.3-1
- update to 2.6.3
* Wed Oct 11 2017 Tom Callaway <spot@fedoraproject.org> - 2.6.1-5
- add aligned_alloc support
* Thu Aug 24 2017 Tom Callaway <spot@fedoraproject.org> - 2.6.1-4
- add configure option to disable generic dynamic tls model
- disable generic dynamic tls model on s390x and aarch64
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 17 2017 Tom Callaway <spot@fedoraproject.org> - 2.6.1-1
- update to 2.6.1
* Tue May 23 2017 Tom Callaway <spot@fedoraproject.org> - 2.5.93-1
- update to 2.5.93
- disable dynamic sized delete (explicitly) always
* Mon May 22 2017 Tom Callaway <spot@fedoraproject.org> - 2.5.92-1
- update to 2.5.92
- disable dynamic sized delete support on powerpc64
* Mon May 22 2017 Richard W.M. Jones <rjones@redhat.com> - 2.5.91-2
- Bump release and rebuild to try to fix _ZdlPvm symbol (see RHBZ#1452813).
* Mon May 15 2017 Tom Callaway <spot@fedoraproject.org> - 2.5.91-1
- update to 2.5.91
* Tue Feb 21 2017 Dan Horák <dan[at]danny.cz> - 2.5-5
- fix s390x build
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Tom Callaway <spot@fedoraproject.org> - 2.5-3
- enable s390x
* Thu Apr 28 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.5-2
- Power64 has libunwind now
* Tue Apr 26 2016 Tom Callaway <spot@fedoraproject.org> - 2.5-1
- update to 2.5
* Tue Mar 8 2016 Tom Callaway <spot@fedoraproject.org> - 2.4.91-1
- update to 2.4.91
- re-enable hardened builds (upstream disabled dynamic sized delete by default)
* Fri Mar 04 2016 Than Ngo <than@redhat.com> - 2.4.90-3
- Disable hardened build on ppc64/ppc64le (RHBZ#1314483).
* Mon Feb 29 2016 Richard W.M. Jones <rjones@redhat.com> - 2.4.90-2
- Disable hardened build on 32 bit ARM (RHBZ#1312462).
* Mon Feb 22 2016 Tom Callaway <spot@fedoraproject.org> - 2.4.90-1
- update to 2.4.90
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Jun 9 2015 Tom Callaway <spot@fedoraproject.org> - 2.4-4
- fix modern futex handling (thanks to Paolo Bonzini)
* Mon Jun 1 2015 Tom Callaway <spot@fedoraproject.org> - 2.4-3
- enable futex for ARM
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.4-2
- Rebuilt for GCC 5 C++11 ABI change
* Fri Mar 27 2015 Tom Callaway <spot@fedoraproject.org> 2.4-1
- update to 2.4
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 10 2014 Dan Horák <dan[at]danny.cz> - 2.2.1-1
- Update to new upstream 2.2.1 release
- Fixes build on ppc arches
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Jun 4 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.2-1
- Update to new upstream 2.2 release
- Add support for new arches (aarch64, ppc64le, mips)
* Tue May 13 2014 Jaromir Capik <jcapik@redhat.com> - 2.1-5
- Replacing ppc64 with the power64 macro (#1077632)
* Sat Jan 4 2014 Tom Callaway <spot@fedoraproject.org> - 2.1-4
- re-enable FORTIFY_SOURCE
* Fri Dec 6 2013 Ville Skyttä <ville.skytta@iki.fi> - 2.1-3
- Install docs to %%{_pkgdocdir} where available (#993798), include NEWS.
- Fix bogus date in %%changelog.
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 2.1-2
- Perl 5.18 rebuild
* Wed Jul 31 2013 Tom Callaway <spot@fedoraproject.org> - 2.1-1
- update to 2.1 (fixes arm)
- disable -fexceptions, as that breaks things on el6, possibly arm
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.0-12
- Perl 5.18 rebuild
* Tue Jun 4 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-11
- pass -fno-strict-aliasing
- create "gperftools" metapackage.
- update to svn r218 (cleanups, some ARM fixes)
* Thu Mar 14 2013 Dan Horák <dan[at]danny.cz> - 2.0-10
- build on ppc64 as well
* Fri Mar 1 2013 Tom Callaway <spot@fedoraproject.org> - 2.0-9
- update to svn r190 (because google can't make releases)
@ -390,7 +247,7 @@ rm -rf %{buildroot}%{_pkgdocdir}/INSTALL
* Mon Apr 23 2007 Tom "spot" Callaway <tcallawa@redhat.com> 0.91-1
- alright, lets see if this works now.
* Wed Oct 12 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-2
* Wed Oct 13 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-2
- change group to Development/Tools
* Mon Oct 10 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.3-1

View File

@ -1 +1 @@
SHA512 (gperftools-2.6.90.tar.gz) = 466d6f36c1f1ad1f505c241bca73a7f0316563f80521e149e0c183017d2c1df62287e28b1cb4238888d6553033d8a70bd05f7a74a6f8f0fa8e2c0a8c418212eb
13f6e8961bc6a26749783137995786b6 gperftools-2.0.tar.gz