On Tue, Feb 20, 2024, at 15:13, Greg Ungerer wrote:
On 20/2/24 02:01, Thomas Huth wrote:
We should not use any CONFIG switches in uapi headers since these
only work during kernel compilation; they are not defined for
userspace. Fix it by moving the struct pt_regs to the kernel-internal
header instead - struct pt_regs does not seem to be required for
the userspace headers on m68k at all.
Suggested-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
---
v2: Move the struct instead of changing the #ifdef
See previous discussion here:
https://lore.kernel.org/lkml/6e3f2a2e-2430-4b4f-9ead-d9a4d5e42713@xxxxxxxxxxxxxx/
I am fine with this. FWIW the following architectures do
not define pt_regs in their uapi/ptrace.h header either:
arc, arm64, loongarch, nios2, openrisc, riscv, s390, xtensa
Though quite a few of them have a user_pt_regs instead.
So for me:
Acked-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
Geert, Arnd, do you have any thoughts on this?
It clearly doesn't change the ABI, so that part is fine.
If asm/ptrace.h is included by some userspace tool to
get the definition, it might cause a compile-time error
that needs a trivial source change.
This could be needed for ptrace (gdb, strace) or signal
handling and setjmp (libc), though it's more likely that these
already have their own copies.
Arnd