On Tue, Feb 02, 2021 at 12:04:03AM -0300, Érico Nogueira via Elfutils-devel wrote: > From: Érico Rolim <erico....@gmail.com> > > Necessary on musl for struct pt_regs definition, doesn't affect the > build on glibc. > > Signed-off-by: Érico Rolim <erico....@gmail.com> > --- > > Sending a v2 with the main difference being a slightly different commit > message and signed-off-by line. > > I'm a bit hesitant on this being the correct patch, so I'd ask that you > only merge if you think it makes total sense, otherwise I'd like to sit > on it for a bit. For the record, it has been in use in Void Linux since > the end of 2019.
I'm afraid this won't work as is. The reason why glibc doesn't require this change is that its sysdeps/unix/sysv/linux/powerpc/sys/user.h contains #include <asm/ptrace.h> since the very beginning of this file back in 1998. As you probably know, <asm/ptrace.h> and <sys/ptrace.h> are not as compatible as we would like them to be, this is the reason why e.g. elfutils commit 4482d0009a99b1773f2426479b666b08f57af9d5 moved #include <sys/ptrace.h> before #include <sys/user.h>. Said that, I think it's safe to include <asm/ptrace.h> right before <sys/user.h> on powerpc since in glibc the latter includes the former. > backends/ChangeLog | 4 ++++ > backends/ppc_initreg.c | 1 + > 2 files changed, 5 insertions(+) > > diff --git a/backends/ChangeLog b/backends/ChangeLog > index f22cd57f..eb15c81d 100644 > --- a/backends/ChangeLog > +++ b/backends/ChangeLog > @@ -1,3 +1,7 @@ > +2021-02-01 Érico Nogueira <eric...@disroot.org> > + > + * ppc_initreg.c: Also include <asm/ptrace.h>. > + > 2020-12-12 Dmitry V. Levin <l...@altlinux.org> > > * aarch64_retval.c (aarch64_return_value_location): Fix spelling typo > diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c > index 0e0d3599..72cdb860 100644 > --- a/backends/ppc_initreg.c > +++ b/backends/ppc_initreg.c > @@ -32,6 +32,7 @@ > > #include <stdlib.h> > #if defined(__powerpc__) && defined(__linux__) > +# include <asm/ptrace.h> > # include <sys/ptrace.h> > # include <sys/user.h> > #endif > -- > 2.30.0 -- ldv