mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 05:17:07 +02:00
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
20 lines
399 B
Diff
20 lines
399 B
Diff
--- 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
|