Compare commits

...

29 Commits
f22 ... master

Author SHA1 Message Date
Tom Callaway 078b6814f9 2.6.90 2018-03-25 09:44:54 -04:00
Fedora Release Engineering 751651e676 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 15:16:37 +00:00
Tom Callaway ebb33c955b 2.6.3 2018-01-11 16:31:47 -05:00
Tom Callaway 269f60eced add configure option to disable generic dynamic tls model, do so for s390x and aarch64, add aligned_alloc support 2017-10-11 15:26:06 -04:00
Fedora Release Engineering 137b2efb26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 22:57:22 +00:00
Fedora Release Engineering 601f584430 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 11:55:42 +00:00
Tom Callaway b808a24876 there is no ucontext on ppc64 in rawhide, only ucontext_t 2017-07-17 15:59:35 -04:00
Tom Callaway f12167f3fe 2.6.1 2017-07-17 13:30:48 -04:00
Tom Callaway a6655264f9 2.5.93 2017-05-23 11:06:49 -04:00
Tom Callaway 469491bc54 2.5.92 2017-05-22 14:51:56 -04:00
Richard W.M. Jones 1089db9e24 Bump release and rebuild to try to fix _ZdlPvm symbol (see RHBZ#1452813). 2017-05-22 09:16:34 +01:00
Tom Callaway e300a0c466 2.5.91 2017-05-15 10:52:46 -04:00
Dan Horák 662ab34dc5 - fix s390x build 2017-02-21 14:01:24 +01:00
Fedora Release Engineering d7fb926967 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 12:09:16 +00:00
Tom Callaway 723c0d5a96 enable s390x 2017-01-12 10:09:30 -05:00
Petr Písař 37c8cddcb5 Mandatory Perl build-requires added <https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl> 2016-06-24 10:00:17 +02:00
Peter Robinson 2d12dacdc3 Power64 has libunwind now 2016-04-28 11:47:19 +01:00
Tom Callaway 823a4bb53c 2.5 2016-04-26 15:26:54 -04:00
Tom Callaway d83b778087 2.4.91 2016-03-08 16:30:51 -06:00
Than Ngo de051cb77f Disable hardened build on ppc64/ppc64le (RHBZ#1314483) 2016-03-04 12:58:55 +01:00
Richard W.M. Jones c1b9c95df2 Disable hardened build on 32 bit ARM (RHBZ#1312462). 2016-02-29 13:37:46 +00:00
Tom Callaway 9aae3152ec merge 2016-02-22 11:02:18 -05:00
Tom Callaway bdcfdc5e8e 2.4.90 2016-02-22 10:59:53 -05:00
Dennis Gilmore 7be4d9f9f7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 23:12:15 +00:00
Dennis Gilmore 1a1ebda756 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 09:38:37 +00:00
Tom Callaway 706d9bf33a fix modern futex handling 2015-06-09 17:43:35 -04:00
Tom Callaway 2bec3a5226 enable futexes for arm 2015-06-01 15:49:16 -04:00
Kalev Lember add00bf49e Rebuilt for GCC 5 C++11 ABI change 2015-05-02 14:06:18 +02:00
Tom Callaway 7e4e3396d0 update to 2.4 2015-03-27 15:40:41 -04:00
7 changed files with 251 additions and 11 deletions

4
.gitignore vendored
View File

@ -1,3 +1 @@
/gperftools-2.0.tar.gz
/gperftools-2.2.tar.gz
/gperftools-2.2.1.tar.gz
/gperftools-*.tar.gz

View File

@ -0,0 +1,33 @@
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

@ -0,0 +1,32 @@
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

@ -0,0 +1,13 @@
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

@ -0,0 +1,66 @@
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

@ -3,17 +3,22 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Name: gperftools
Version: 2.2.1
Release: 2%{?dist}
Version: 2.6.90
Release: 1%{?dist}
License: BSD
Group: Development/Tools
Summary: Very fast malloc and performance analysis tools
URL: http://code.google.com/p/gperftools/
Source0: https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/%{name}-%{version}.tar.gz
ExcludeArch: s390 s390x
%ifnarch ppc %{power64}
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
BuildRequires: libunwind-devel
%endif
BuildRequires: perl-generators
BuildRequires: autoconf, automake, libtool
Requires: gperftools-devel = %{version}-%{release}
Requires: pprof = %{version}-%{release}
@ -56,6 +61,7 @@ Pprof is a heap and CPU profiler tool, part of the gperftools suite.
%prep
%setup -q
%patch1 -p1 -b .dynload
# Fix end-of-line encoding
sed -i 's/\r//' README_windows.txt
@ -63,10 +69,17 @@ sed -i 's/\r//' README_windows.txt
# No need to have exec permissions on source code
chmod -x src/*.h src/*.cc
autoreconf -ifv
%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 --disable-static
%configure \
%ifarch s390x aarch64
--disable-general-dynamic-tls \
%endif
--disable-dynamic-sized-delete-support \
--disable-static
# Bad rpath!
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@ -108,6 +121,91 @@ 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

View File

@ -1 +1 @@
47cbede9442764f9e8fbc403af6cacfd gperftools-2.2.1.tar.gz
SHA512 (gperftools-2.6.90.tar.gz) = 466d6f36c1f1ad1f505c241bca73a7f0316563f80521e149e0c183017d2c1df62287e28b1cb4238888d6553033d8a70bd05f7a74a6f8f0fa8e2c0a8c418212eb