Dirk Mueller
d0865dd698
- ucontext.patch: fix use of ucontext_t OBS-URL: https://build.opensuse.org/request/show/515873 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gperftools?expand=0&rev=38
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
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];
|