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>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# 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
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: gperftools
|
||||
Version: 2.7
|
||||
Version: 2.8.1
|
||||
Release: 0
|
||||
Summary: Performance Tools for C++
|
||||
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
|
||||
Patch1: %{name}_fix_unassigned_malloc_in_unittest.patch
|
||||
Patch2: %{name}_gcc46.patch
|
||||
Patch3: gcc-dont-clobber-rsp.patch
|
||||
Patch4: ppc64-fix-367fd5731a8c68225cb870aa656ea0ce677fe040.patch
|
||||
BuildRequires: autoconf >= 2.59
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libtool
|
||||
%ifnarch s390x s390
|
||||
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
|
||||
BuildRequires: pkgconfig
|
||||
Provides: 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
|
||||
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-pic \
|
||||
--docdir=%{_defaultdocdir}/%{name}
|
||||
make %{?_smp_mflags}
|
||||
%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
|
||||
|
||||
%files
|
||||
%{_bindir}/pprof
|
||||
%{_mandir}/man1/pprof.1.*
|
||||
%{_bindir}/pprof-symbolize
|
||||
%{_mandir}/man1/pprof.1%{?ext_man}
|
||||
%{_docdir}/%{name}
|
||||
|
||||
%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…
x
Reference in New Issue
Block a user