commit:     1a173bc429e51de4fcf6ceada45cd7274ab12aaf
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 19:17:09 2017 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 19:17:19 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a173bc4

dev-util/ltrace: fix build failure on ia64

Package-Manager: Portage-2.3.6, Repoman-2.3.2

 dev-util/ltrace/files/ltrace-0.7.3-ia64.patch | 39 +++++++++++++++++++++++++++
 dev-util/ltrace/ltrace-0.7.3_p4.ebuild        |  3 ++-
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/dev-util/ltrace/files/ltrace-0.7.3-ia64.patch 
b/dev-util/ltrace/files/ltrace-0.7.3-ia64.patch
new file mode 100644
index 00000000000..4fb1c4eba73
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-ia64.patch
@@ -0,0 +1,39 @@
+Fix build fauilure on ia64.
+
+Build fails due to bitrot: some definitions
+moved off from <sys/pthrace.h> to <asm/ptrace.h>
+(similar to other arches).
+
+fetch.c:39:26: error: field 'regs' has incomplete type
+  struct pt_all_user_regs regs;
+                          ^~~~
+fetch.c:209:25: warning: 'struct ia64_fpreg' declared inside parameter list 
will not be visible outside of this definition or declaration
+ fpreg_to_double (struct ia64_fpreg *fp) {
+                         ^~~~~~~~~~
+fetch.c: In function 'fpreg_to_double':
+fetch.c:211:45: error: dereferencing pointer to incomplete type 'struct 
ia64_fpreg'
+  asm ("ldf.fill %0=%1" : "=f"(result) : "m"(*fp));
+                                             ^~~
+
+diff --git a/sysdeps/linux-gnu/ia64/fetch.c b/sysdeps/linux-gnu/ia64/fetch.c
+index 54dc5b8..b3b9a9a 100644
+--- a/sysdeps/linux-gnu/ia64/fetch.c
++++ b/sysdeps/linux-gnu/ia64/fetch.c
+@@ -134,9 +134,4 @@ allocate_reg(struct fetch_context *ctx, struct Process 
*proc,
+               return 0;
+ 
+-      /* This would normally be brought over from asm/ptrace.h, but
+-       * when we do, we get namespace conflicts between asm/fpu.h
+-       * and libunwind.  */
+-      enum { PT_AUR_BSP = 17 };
+-
+       union cfm_t cfm = { .value = ctx->regs.cfm };
+       unsigned long *bsp = (unsigned long *)ctx->regs.ar[PT_AUR_BSP];
+diff --git a/sysdeps/linux-gnu/ia64/ptrace.h b/sysdeps/linux-gnu/ia64/ptrace.h
+index ef63b4f..8b131f1 100644
+--- a/sysdeps/linux-gnu/ia64/ptrace.h
++++ b/sysdeps/linux-gnu/ia64/ptrace.h
+@@ -20,2 +20,3 @@
+ 
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>

diff --git a/dev-util/ltrace/ltrace-0.7.3_p4.ebuild 
b/dev-util/ltrace/ltrace-0.7.3_p4.ebuild
index 7305b4cba13..a818ab97085 100644
--- a/dev-util/ltrace/ltrace-0.7.3_p4.ebuild
+++ b/dev-util/ltrace/ltrace-0.7.3_p4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -32,6 +32,7 @@ src_prepare() {
        epatch "${WORKDIR}"/debian/patches/[0-9]*
        epatch "${FILESDIR}"/${PN}-0.7.3-test-protos.patch #bug 421649
        epatch "${FILESDIR}"/${PN}-0.7.3-alpha-protos.patch
+       epatch "${FILESDIR}"/${PN}-0.7.3-ia64.patch
        sed -i '/^dist_doc_DATA/d' Makefile.am || die
        eautoreconf
 }

Reply via email to