[PATCH v2] backends/ppc_initreg.c: include <asm/ptrace.h>.

Dmitry V. Levin ldv@altlinux.org
Tue Feb 2 03:22:50 GMT 2021


On Tue, Feb 02, 2021 at 12:04:03AM -0300, Érico Nogueira via Elfutils-devel wrote:
> From: Érico Rolim <erico.erc@gmail.com>
> 
> Necessary on musl for struct pt_regs definition, doesn't affect the
> build on glibc.
> 
> Signed-off-by: Érico Rolim <erico.erc@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  <ericonr@disroot.org>
> +
> +	* ppc_initreg.c: Also include <asm/ptrace.h>.
> +
>  2020-12-12  Dmitry V. Levin  <ldv@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


More information about the Elfutils-devel mailing list