Accepting request 860746 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/860746 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gperftools?expand=0&rev=26
This commit is contained in:
commit
dfa23254aa
@ -1,26 +0,0 @@
|
|||||||
From 9e5b1628737c67b4587f937164572774592978c4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Aliaksey Kandratsenka <alkondratenko@gmail.com>
|
|
||||||
Date: Sun, 10 Feb 2019 12:46:18 -0800
|
|
||||||
Subject: [PATCH] don't try to mark rsp as clobbered in linux syscall support
|
|
||||||
|
|
||||||
rsp is not actually clobbered by that code and later gccs actually (correctly) bark
|
|
||||||
at it.
|
|
||||||
|
|
||||||
Fixed issue #1076.
|
|
||||||
---
|
|
||||||
src/base/linux_syscall_support.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h
|
|
||||||
index 13aa415e..199061a9 100644
|
|
||||||
--- a/src/base/linux_syscall_support.h
|
|
||||||
+++ b/src/base/linux_syscall_support.h
|
|
||||||
@@ -1485,7 +1485,7 @@ struct kernel_stat {
|
|
||||||
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
|
|
||||||
"r"(LSS_SYSCALL_ARG(newtls)),
|
|
||||||
"r"(LSS_SYSCALL_ARG(child_tidptr))
|
|
||||||
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
|
|
||||||
+ : "memory", "r8", "r10", "r11", "rcx");
|
|
||||||
}
|
|
||||||
LSS_RETURN(int, __res);
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1ee8c8699a0eff6b6a203e59b43330536b22bbcbe6448f54c7091e5efb0763c9
|
|
||||||
size 1523562
|
|
3
gperftools-2.8.1.tar.gz
Normal file
3
gperftools-2.8.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:12f07a8ba447f12a3ae15e6e3a6ad74de35163b787c0c7b76288d7395f2f74e0
|
||||||
|
size 1598384
|
@ -1,3 +1,23 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
Fri Sep 4 20:33:52 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package gperftools
|
# spec file for package gperftools
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: gperftools
|
Name: gperftools
|
||||||
Version: 2.7
|
Version: 2.8.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Performance Tools for C++
|
Summary: Performance Tools for C++
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
@ -26,23 +26,25 @@ URL: https://github.com/gperftools/gperftools
|
|||||||
Source0: https://github.com/gperftools/gperftools/releases/download/gperftools-%{version}/gperftools-%{version}.tar.gz
|
Source0: https://github.com/gperftools/gperftools/releases/download/gperftools-%{version}/gperftools-%{version}.tar.gz
|
||||||
Patch1: %{name}_fix_unassigned_malloc_in_unittest.patch
|
Patch1: %{name}_fix_unassigned_malloc_in_unittest.patch
|
||||||
Patch2: %{name}_gcc46.patch
|
Patch2: %{name}_gcc46.patch
|
||||||
Patch3: gcc-dont-clobber-rsp.patch
|
|
||||||
Patch4: ppc64-fix-367fd5731a8c68225cb870aa656ea0ce677fe040.patch
|
|
||||||
BuildRequires: autoconf >= 2.59
|
BuildRequires: autoconf >= 2.59
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
%ifnarch s390x s390
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: libunwind-devel
|
|
||||||
%endif
|
|
||||||
BuildRequires: pkg-config
|
|
||||||
%ifnarch s390
|
|
||||||
BuildRequires: valgrind-devel
|
|
||||||
%endif
|
|
||||||
# based on basictypes.h in the source tree
|
|
||||||
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 mips s390x
|
|
||||||
Provides: google-perftools
|
Provides: google-perftools
|
||||||
Obsoletes: google-perftools
|
Obsoletes: google-perftools
|
||||||
|
# based on basictypes.h in the source tree
|
||||||
|
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le %{arm} aarch64 mips s390x
|
||||||
|
%ifnarch s390x s390
|
||||||
|
BuildRequires: pkgconfig(libunwind)
|
||||||
|
BuildRequires: pkgconfig(libunwind-coredump)
|
||||||
|
BuildRequires: pkgconfig(libunwind-generic)
|
||||||
|
BuildRequires: pkgconfig(libunwind-ptrace)
|
||||||
|
BuildRequires: pkgconfig(libunwind-setjmp)
|
||||||
|
%endif
|
||||||
|
%ifnarch s390
|
||||||
|
BuildRequires: pkgconfig(valgrind)
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The gperftools package contains some utilities to improve and analyze the
|
The gperftools package contains some utilities to improve and analyze the
|
||||||
@ -103,23 +105,21 @@ export CFLAGS="%{optflags} -fno-strict-aliasing $VALGRIND_FL"
|
|||||||
--with-gnu-ld \
|
--with-gnu-ld \
|
||||||
--with-pic \
|
--with-pic \
|
||||||
--docdir=%{_defaultdocdir}/%{name}
|
--docdir=%{_defaultdocdir}/%{name}
|
||||||
make %{?_smp_mflags}
|
%make_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%make_install
|
||||||
find %{buildroot} -type f -name "*.la" -delete -print
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
|
|
||||||
%post -n libprofiler0 -p /sbin/ldconfig
|
%post -n libprofiler0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libprofiler0 -p /sbin/ldconfig
|
%postun -n libprofiler0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%post -n libtcmalloc4 -p /sbin/ldconfig
|
%post -n libtcmalloc4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libtcmalloc4 -p /sbin/ldconfig
|
%postun -n libtcmalloc4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%{_bindir}/pprof
|
%{_bindir}/pprof
|
||||||
%{_mandir}/man1/pprof.1.*
|
%{_bindir}/pprof-symbolize
|
||||||
|
%{_mandir}/man1/pprof.1%{?ext_man}
|
||||||
%{_docdir}/%{name}
|
%{_docdir}/%{name}
|
||||||
|
|
||||||
%files -n libprofiler0
|
%files -n libprofiler0
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
From 367fd5731a8c68225cb870aa656ea0ce677fe040 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
|
|
||||||
Date: Fri, 8 Feb 2019 10:33:09 -0200
|
|
||||||
Subject: [PATCH] Include asm/ptrace.h when accessing ucontext_t
|
|
||||||
|
|
||||||
In some architectures (e.g. powerpc, powerpc64 and powerpc64le), the
|
|
||||||
macro that specifies the position of the program counter is defined in
|
|
||||||
header asm/ptrace.h.
|
|
||||||
|
|
||||||
When glibc bug 21457 got fixed in version 2.27, header sys/ucontext.h
|
|
||||||
stopped including signal.h, which indirectly removed asm/ptrace.h too.
|
|
||||||
|
|
||||||
Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
|
|
||||||
---
|
|
||||||
m4/pc_from_ucontext.m4 | 12 +++++++++++-
|
|
||||||
src/getpc.h | 3 +++
|
|
||||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/m4/pc_from_ucontext.m4 b/m4/pc_from_ucontext.m4
|
|
||||||
index c9224bc6..7114bd0d 100644
|
|
||||||
--- a/m4/pc_from_ucontext.m4
|
|
||||||
+++ b/m4/pc_from_ucontext.m4
|
|
||||||
@@ -20,6 +20,7 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
|
|
||||||
AC_CHECK_HEADERS(sys/ucontext.h) # ucontext on OS X 10.6 (at least)
|
|
||||||
fi
|
|
||||||
AC_CHECK_HEADERS(cygwin/signal.h) # ucontext on cywgin
|
|
||||||
+ AC_CHECK_HEADERS(asm/ptrace.h) # get ptrace macros, e.g. PT_NIP
|
|
||||||
AC_MSG_CHECKING([how to access the program counter from a struct ucontext])
|
|
||||||
pc_fields=" uc_mcontext.gregs[[REG_PC]]" # Solaris x86 (32 + 64 bit)
|
|
||||||
pc_fields="$pc_fields uc_mcontext.gregs[[REG_EIP]]" # Linux (i386)
|
|
||||||
@@ -53,14 +54,23 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
|
|
||||||
How to access the PC from a struct ucontext)
|
|
||||||
AC_MSG_RESULT([$pc_field])
|
|
||||||
pc_field_found=true)
|
|
||||||
- elif test "x$ac_cv_header_sys_ucontext_h" = xyes; then
|
|
||||||
+ elif test "x$ac_cv_header_asm_ptrace_h" = xyes -a "x$ac_cv_header_sys_ucontext_h" = xyes; then
|
|
||||||
AC_TRY_COMPILE([#define _GNU_SOURCE 1
|
|
||||||
+ #include <asm/ptrace.h>
|
|
||||||
#include <sys/ucontext.h>],
|
|
||||||
[ucontext_t u; return u.$pc_field == 0;],
|
|
||||||
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
|
||||||
How to access the PC from a struct ucontext)
|
|
||||||
AC_MSG_RESULT([$pc_field])
|
|
||||||
pc_field_found=true)
|
|
||||||
+ elif test "x$ac_cv_header_sys_ucontext_h" = xyes; then
|
|
||||||
+ AC_TRY_COMPILE([#define _GNU_SOURCE 1
|
|
||||||
+ #include <sys/ucontext.h>],
|
|
||||||
+ [ucontext_t u; return u.$pc_field == 0;],
|
|
||||||
+ AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
|
||||||
+ How to access the PC from a struct ucontext)
|
|
||||||
+ AC_MSG_RESULT([$pc_field])
|
|
||||||
+ pc_field_found=true)
|
|
||||||
elif test "x$ac_cv_header_ucontext_h" = xyes; then
|
|
||||||
AC_TRY_COMPILE([#define _GNU_SOURCE 1
|
|
||||||
#include <ucontext.h>],
|
|
||||||
diff --git a/src/getpc.h b/src/getpc.h
|
|
||||||
index 163873ea..9605363b 100644
|
|
||||||
--- a/src/getpc.h
|
|
||||||
+++ b/src/getpc.h
|
|
||||||
@@ -56,6 +56,9 @@
|
|
||||||
//#define _XOPEN_SOURCE 500
|
|
||||||
|
|
||||||
#include <string.h> // for memcmp
|
|
||||||
+#ifdef HAVE_ASM_PTRACE_H
|
|
||||||
+#include <asm/ptrace.h>
|
|
||||||
+#endif
|
|
||||||
#if defined(HAVE_SYS_UCONTEXT_H)
|
|
||||||
#include <sys/ucontext.h>
|
|
||||||
#elif defined(HAVE_UCONTEXT_H)
|
|
Loading…
Reference in New Issue
Block a user