On 10/11/23 21:19, Arnd Bergmann wrote:
On Fri, Nov 10, 2023, at 11:31, 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. Let's use the __mcoldfire__ switch from the
compiler here instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
---
Marked as RFC since I didn't test it - I'd appreciate if someone
could give it a try on a real system.
arch/m68k/include/uapi/asm/ptrace.h | 2 +-
scripts/headers_install.sh | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/m68k/include/uapi/asm/ptrace.h
b/arch/m68k/include/uapi/asm/ptrace.h
index 5b50ea592e00..ebd9fccb3d11 100644
--- a/arch/m68k/include/uapi/asm/ptrace.h
+++ b/arch/m68k/include/uapi/asm/ptrace.h
@@ -39,7 +39,7 @@ struct pt_regs {
long d0;
long orig_d0;
long stkadj;
-#ifdef CONFIG_COLDFIRE
+#ifdef __mcoldfire__
unsigned format : 4; /* frame format specifier */
unsigned vector : 12; /* vector offset */
unsigned short sr;
I think this should be harmless,
I expect it would be, we have done this in at least one other uapi file,
arch/m68k/include/uapi/asm/swab.h.
but I'm not sure we even
need the structure in a uapi header: about half the architectures
define this in a user-visible way, while the others don't.
On csky, powerpc and microblaze, pt_regs is used inside
of the 'struct sigcontext' definition, but I don't think
this was ever the case on m68k.
The other one that is accessed in userspace is 'struct
user_regs_struct', but this one is actually not in the
uapi headers on m68k or x86.
I don't think we need them in the uapi header at all. Trivially moving
those 2 structures into the non-uapi ptrace.h seems to build fine on
most simple setups I tried (systems using uClibc, with applications like
strace). Should we try moving them out?
Regards
Greg