diff options
author | Gustavo Romero <gromero@br.ibm.com> | 2017-03-29 19:10:59 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2017-03-29 20:15:45 +0000 |
commit | 70e8624cec8394b1517a6a0dcba72bbb0c9b9e74 (patch) | |
tree | be4ae6b582b48c608e8def2160678f0766daaec9 /main/strace | |
parent | 995ff2aa9e9ad92979864eb3d23884eb90952793 (diff) | |
download | aports-70e8624cec8394b1517a6a0dcba72bbb0c9b9e74.tar.bz2 aports-70e8624cec8394b1517a6a0dcba72bbb0c9b9e74.tar.xz |
main/strace: fix pt_regs collision on ppc64le
strace build requires <linux/ptrace.h> and it includes <asm/ptrace.h>
that, by its turn, defines the pt_regs struct. However the same struct
is also define in <bits/user.h> from musl-dev, creating therefore a
conflict. A solution is to add the __ASSEMBLY__ guard so pt_regs struct
from <asm/ptrace.h> is not include twice, avoiding the collision in
question.
There is no other way to worki around that issue on Musl since it does
not include the linux headers and hence has to define again the pt_regs
struct in user.h and the name clashes. In glibc, for instance, user.h
includes <asm/ptrace.h> from kernel and does not redefine it.
Also Musl community has no better solution at the moment for this issue
on ppc, so basically nothing change since [1].
[1] http://www.openwall.com/lists/musl/2016/12/30/5
Diffstat (limited to 'main/strace')
-rw-r--r-- | main/strace/APKBUILD | 6 | ||||
-rw-r--r-- | main/strace/fix-ppc-pt-regs-collision.patch | 19 |
2 files changed, 23 insertions, 2 deletions
diff --git a/main/strace/APKBUILD b/main/strace/APKBUILD index f414a8a9a0..0a7a7f0d79 100644 --- a/main/strace/APKBUILD +++ b/main/strace/APKBUILD @@ -9,7 +9,8 @@ license="BSD" depends= makedepends="linux-headers" subpackages="$pkgname-doc" -source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.xz" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.xz + fix-ppc-pt-regs-collision.patch" builddir="$srcdir/$pkgname-$pkgver" prepare() { @@ -41,4 +42,5 @@ package() { make -j1 DESTDIR="$pkgdir" install } -sha512sums="d1a7b782cb8196eb95b431b66f9b0eff7886869a7e3a4618d985f73b2eed7590ba73150b9c33e55ee5c65fc8f863588b64c5611dca7b5d7a4183110eaf4451d5 strace-4.16.tar.xz" +sha512sums="d1a7b782cb8196eb95b431b66f9b0eff7886869a7e3a4618d985f73b2eed7590ba73150b9c33e55ee5c65fc8f863588b64c5611dca7b5d7a4183110eaf4451d5 strace-4.16.tar.xz +b70cee89dd49a2b5a69dc2a56c3a11169d3306e1a73981155188b574486965c034aa52b4ac1c6edff5ef55c9d52f27750acb242fac095a8a9f69689b51b3fad1 fix-ppc-pt-regs-collision.patch" diff --git a/main/strace/fix-ppc-pt-regs-collision.patch b/main/strace/fix-ppc-pt-regs-collision.patch new file mode 100644 index 0000000000..6de0fcdd6f --- /dev/null +++ b/main/strace/fix-ppc-pt-regs-collision.patch @@ -0,0 +1,19 @@ +--- a/ptrace.h ++++ b/ptrace.h +@@ -48,7 +48,15 @@ + # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args + #endif + +-#include <linux/ptrace.h> ++#if defined(__powerpc__) || defined(__powerpc64__) ++# include <linux/types.h> ++# define __ASSEMBLY__ ++# include <linux/ptrace.h> ++# undef __ASSEMBLY__ ++#else ++# include <linux/ptrace.h> ++#endif ++ + + #ifdef HAVE_STRUCT_IA64_FPREG + # undef ia64_fpreg |