gperftools: Fix build on ppc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit 23a1d7acca)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Khem Raj 2017-07-01 13:30:32 -07:00 committed by Armin Kuster
parent 4a1ca6ff12
commit ad47b4b247
2 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,36 @@
From 12ac0dc6742e1bcdfaf1842186c9002f0820a5e8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 1 Jul 2017 13:21:21 -0700
Subject: [PATCH] Use ucontext_t instead of struct ucontext
Newer glibc has dropped the ucontext tag from exposing
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/stacktrace_powerpc-linux-inl.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h
index a9bf775..47ff2d7 100644
--- a/src/stacktrace_powerpc-linux-inl.h
+++ b/src/stacktrace_powerpc-linux-inl.h
@@ -53,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.
@@ -202,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];
--
2.13.2

View File

@ -7,7 +7,8 @@ DEPENDS = "libunwind"
SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \
file://0001-Support-Atomic-ops-on-clang.patch \
file://0001-Fix-build-failure-for-ppc.patch \
"
file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \
"
SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50"
SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173"