[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6e3f2a2e-2430-4b4f-9ead-d9a4d5e42713@linux-m68k.org>
Date: Wed, 15 Nov 2023 00:20:03 +1000
From: Greg Ungerer <gerg@...ux-m68k.org>
To: Arnd Bergmann <arnd@...db.de>, Thomas Huth <thuth@...hat.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
linux-m68k@...ts.linux-m68k.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] m68k: Avoid CONFIG_COLDFIRE switch in uapi header
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@...hat.com>
>> ---
>> 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
Powered by blists - more mailing lists