Accepting request 516766 from devel:libraries:c_c++

1

OBS-URL: https://build.opensuse.org/request/show/516766
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gperftools?expand=0&rev=19
This commit is contained in:
Dominique Leuenberger 2017-08-24 15:40:10 +00:00 committed by Git OBS Bridge
commit 136c85b13a
3 changed files with 36 additions and 0 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
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

View File

@ -26,6 +26,7 @@ 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: ucontext.patch
BuildRequires: autoconf >= 2.59
BuildRequires: automake
BuildRequires: gcc-c++
@ -77,6 +78,7 @@ files for developing applications that use the gperftools package.
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
autoreconf -fi

29
ucontext.patch Normal file
View File

@ -0,0 +1,29 @@
Index: gperftools-2.5/src/stacktrace_powerpc-linux-inl.h
===================================================================
--- gperftools-2.5.orig/src/stacktrace_powerpc-linux-inl.h
+++ gperftools-2.5/src/stacktrace_powerpc-linux-inl.h
@@ -44,6 +44,7 @@
#include <stdint.h> // for uintptr_t
#include <stdlib.h> // for NULL
+#include <signal.h> // for siginfo_t
#include <gperftools/stacktrace.h>
#include <base/vdso_support.h>
@@ -52,7 +53,6 @@
#elif defined(HAVE_UCONTEXT_H)
#include <ucontext.h> // for ucontext_t
#endif
-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.
@@ -201,7 +201,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
struct rt_signal_frame_32 {
char dummy[64 + 16];
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
// We don't care about the rest, since IP value is at 'uc' field.A
} *sigframe = reinterpret_cast<rt_signal_frame_32*>(current);
result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP];