* [PATCH] alpha: don't reference obsolete termio struct for TC* constants
@ 2025-10-01 23:00 Sam James
2025-10-01 23:00 ` [PATCH] sparc: " Sam James
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Sam James @ 2025-10-01 23:00 UTC (permalink / raw)
To: Richard Henderson, Matt Turner
Cc: Sam James, Stian Halseth, Magnus Lindholm, linux-alpha,
linux-kernel
Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
drops the legacy termio struct, but the ioctls.h header still defines some
TC* constants in terms of termio (via sizeof). Hardcode the values instead.
This fixes building Python for example, which falls over like:
./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
Link: https://bugs.gentoo.org/961769
Link: https://bugs.gentoo.org/962600
Co-authored-by: Stian Halseth <stian@itx.no>
Co-authored-by: Magnus Lindholm <linmag7@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
---
v3: Fix constants per Magnus.
v2: Fix title.
arch/alpha/include/uapi/asm/ioctls.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/alpha/include/uapi/asm/ioctls.h b/arch/alpha/include/uapi/asm/ioctls.h
index 971311605288f..a09d04b49cc65 100644
--- a/arch/alpha/include/uapi/asm/ioctls.h
+++ b/arch/alpha/include/uapi/asm/ioctls.h
@@ -23,10 +23,10 @@
#define TCSETSW _IOW('t', 21, struct termios)
#define TCSETSF _IOW('t', 22, struct termios)
-#define TCGETA _IOR('t', 23, struct termio)
-#define TCSETA _IOW('t', 24, struct termio)
-#define TCSETAW _IOW('t', 25, struct termio)
-#define TCSETAF _IOW('t', 28, struct termio)
+#define TCGETA 0x40127417
+#define TCSETA 0x80127418
+#define TCSETAW 0x80127419
+#define TCSETAF 0x8012741c
#define TCSBRK _IO('t', 29)
#define TCXONC _IO('t', 30)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH] sparc: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 [PATCH] alpha: don't reference obsolete termio struct for TC* constants Sam James
@ 2025-10-01 23:00 ` Sam James
2025-10-19 19:18 ` Sam James
2025-10-19 19:18 ` [PATCH] alpha: " Sam James
` (3 subsequent siblings)
4 siblings, 1 reply; 14+ messages in thread
From: Sam James @ 2025-10-01 23:00 UTC (permalink / raw)
To: David S. Miller, Andreas Larsson
Cc: Sam James, Stian Halseth, sparclinux, linux-kernel
Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
drops the legacy termio struct, but the ioctls.h header still defines some
TC* constants in terms of termio (via sizeof). Hardcode the values instead.
This fixes building Python for example, which falls over like:
./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
Link: https://bugs.gentoo.org/961769
Link: https://bugs.gentoo.org/962600
Co-authored-by: Stian Halseth <stian@itx.no>
Signed-off-by: Sam James <sam@gentoo.org>
---
v3: Fix constants.
v2: Fix title.
arch/sparc/include/uapi/asm/ioctls.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
index 7fd2f5873c9e7..f26befbf690fb 100644
--- a/arch/sparc/include/uapi/asm/ioctls.h
+++ b/arch/sparc/include/uapi/asm/ioctls.h
@@ -5,10 +5,10 @@
#include <asm/ioctl.h>
/* Big T */
-#define TCGETA _IOR('T', 1, struct termio)
-#define TCSETA _IOW('T', 2, struct termio)
-#define TCSETAW _IOW('T', 3, struct termio)
-#define TCSETAF _IOW('T', 4, struct termio)
+#define TCGETA 0x40125401
+#define TCSETA 0x80125402
+#define TCSETAW 0x80125403
+#define TCSETAF 0x80125404
#define TCSBRK _IO('T', 5)
#define TCXONC _IO('T', 6)
#define TCFLSH _IO('T', 7)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] sparc: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 ` [PATCH] sparc: " Sam James
@ 2025-10-19 19:18 ` Sam James
2026-01-14 9:20 ` Andreas Larsson
0 siblings, 1 reply; 14+ messages in thread
From: Sam James @ 2025-10-19 19:18 UTC (permalink / raw)
To: David S. Miller; +Cc: Andreas Larsson, Stian Halseth, sparclinux, linux-kernel
Sam James <sam@gentoo.org> writes:
> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
> drops the legacy termio struct, but the ioctls.h header still defines some
> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>
> This fixes building Python for example, which falls over like:
> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>
> Link: https://bugs.gentoo.org/961769
> Link: https://bugs.gentoo.org/962600
> Co-authored-by: Stian Halseth <stian@itx.no>
> Signed-off-by: Sam James <sam@gentoo.org>
> ---
> v3: Fix constants.
> v2: Fix title.
>
> arch/sparc/include/uapi/asm/ioctls.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Ping.
>
> diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
> index 7fd2f5873c9e7..f26befbf690fb 100644
> --- a/arch/sparc/include/uapi/asm/ioctls.h
> +++ b/arch/sparc/include/uapi/asm/ioctls.h
> @@ -5,10 +5,10 @@
> #include <asm/ioctl.h>
>
> /* Big T */
> -#define TCGETA _IOR('T', 1, struct termio)
> -#define TCSETA _IOW('T', 2, struct termio)
> -#define TCSETAW _IOW('T', 3, struct termio)
> -#define TCSETAF _IOW('T', 4, struct termio)
> +#define TCGETA 0x40125401
> +#define TCSETA 0x80125402
> +#define TCSETAW 0x80125403
> +#define TCSETAF 0x80125404
> #define TCSBRK _IO('T', 5)
> #define TCXONC _IO('T', 6)
> #define TCFLSH _IO('T', 7)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 [PATCH] alpha: don't reference obsolete termio struct for TC* constants Sam James
2025-10-01 23:00 ` [PATCH] sparc: " Sam James
@ 2025-10-19 19:18 ` Sam James
2025-11-29 16:31 ` Magnus Lindholm
` (2 subsequent siblings)
4 siblings, 0 replies; 14+ messages in thread
From: Sam James @ 2025-10-19 19:18 UTC (permalink / raw)
To: Richard Henderson
Cc: Matt Turner, Stian Halseth, Magnus Lindholm, linux-alpha,
linux-kernel
Sam James <sam@gentoo.org> writes:
> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
> drops the legacy termio struct, but the ioctls.h header still defines some
> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>
> This fixes building Python for example, which falls over like:
> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>
> Link: https://bugs.gentoo.org/961769
> Link: https://bugs.gentoo.org/962600
> Co-authored-by: Stian Halseth <stian@itx.no>
> Co-authored-by: Magnus Lindholm <linmag7@gmail.com>
> Signed-off-by: Sam James <sam@gentoo.org>
> ---
> v3: Fix constants per Magnus.
> v2: Fix title.
Ping.
>
> arch/alpha/include/uapi/asm/ioctls.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/alpha/include/uapi/asm/ioctls.h b/arch/alpha/include/uapi/asm/ioctls.h
> index 971311605288f..a09d04b49cc65 100644
> --- a/arch/alpha/include/uapi/asm/ioctls.h
> +++ b/arch/alpha/include/uapi/asm/ioctls.h
> @@ -23,10 +23,10 @@
> #define TCSETSW _IOW('t', 21, struct termios)
> #define TCSETSF _IOW('t', 22, struct termios)
>
> -#define TCGETA _IOR('t', 23, struct termio)
> -#define TCSETA _IOW('t', 24, struct termio)
> -#define TCSETAW _IOW('t', 25, struct termio)
> -#define TCSETAF _IOW('t', 28, struct termio)
> +#define TCGETA 0x40127417
> +#define TCSETA 0x80127418
> +#define TCSETAW 0x80127419
> +#define TCSETAF 0x8012741c
>
> #define TCSBRK _IO('t', 29)
> #define TCXONC _IO('t', 30)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 [PATCH] alpha: don't reference obsolete termio struct for TC* constants Sam James
2025-10-01 23:00 ` [PATCH] sparc: " Sam James
2025-10-19 19:18 ` [PATCH] alpha: " Sam James
@ 2025-11-29 16:31 ` Magnus Lindholm
2025-11-29 17:59 ` Magnus Lindholm
2025-12-01 3:50 ` Maciej W. Rozycki
4 siblings, 0 replies; 14+ messages in thread
From: Magnus Lindholm @ 2025-11-29 16:31 UTC (permalink / raw)
To: Sam James
Cc: Richard Henderson, Matt Turner, Stian Halseth, linux-alpha,
linux-kernel
Thanks, looks good to me, sorry for a late reply.
Reviewed-by: Magnus Lindholm <linmag7@gmail.com>
On Thu, Oct 2, 2025 at 1:01 AM Sam James <sam@gentoo.org> wrote:
>
> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
> drops the legacy termio struct, but the ioctls.h header still defines some
> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>
> This fixes building Python for example, which falls over like:
> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>
> Link: https://bugs.gentoo.org/961769
> Link: https://bugs.gentoo.org/962600
> Co-authored-by: Stian Halseth <stian@itx.no>
> Co-authored-by: Magnus Lindholm <linmag7@gmail.com>
> Signed-off-by: Sam James <sam@gentoo.org>
> ---
> v3: Fix constants per Magnus.
> v2: Fix title.
>
> arch/alpha/include/uapi/asm/ioctls.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/alpha/include/uapi/asm/ioctls.h b/arch/alpha/include/uapi/asm/ioctls.h
> index 971311605288f..a09d04b49cc65 100644
> --- a/arch/alpha/include/uapi/asm/ioctls.h
> +++ b/arch/alpha/include/uapi/asm/ioctls.h
> @@ -23,10 +23,10 @@
> #define TCSETSW _IOW('t', 21, struct termios)
> #define TCSETSF _IOW('t', 22, struct termios)
>
> -#define TCGETA _IOR('t', 23, struct termio)
> -#define TCSETA _IOW('t', 24, struct termio)
> -#define TCSETAW _IOW('t', 25, struct termio)
> -#define TCSETAF _IOW('t', 28, struct termio)
> +#define TCGETA 0x40127417
> +#define TCSETA 0x80127418
> +#define TCSETAW 0x80127419
> +#define TCSETAF 0x8012741c
>
> #define TCSBRK _IO('t', 29)
> #define TCXONC _IO('t', 30)
> --
> 2.51.0
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 [PATCH] alpha: don't reference obsolete termio struct for TC* constants Sam James
` (2 preceding siblings ...)
2025-11-29 16:31 ` Magnus Lindholm
@ 2025-11-29 17:59 ` Magnus Lindholm
2025-12-01 3:50 ` Maciej W. Rozycki
4 siblings, 0 replies; 14+ messages in thread
From: Magnus Lindholm @ 2025-11-29 17:59 UTC (permalink / raw)
To: Sam James
Cc: Richard Henderson, Matt Turner, Stian Halseth, linux-alpha,
linux-kernel
On Thu, Oct 2, 2025 at 1:01 AM Sam James <sam@gentoo.org> wrote:
>
> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
> drops the legacy termio struct, but the ioctls.h header still defines some
> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>
> This fixes building Python for example, which falls over like:
> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>
> Link: https://bugs.gentoo.org/961769
> Link: https://bugs.gentoo.org/962600
> Co-authored-by: Stian Halseth <stian@itx.no>
> Co-authored-by: Magnus Lindholm <linmag7@gmail.com>
> Signed-off-by: Sam James <sam@gentoo.org>
> ---
> v3: Fix constants per Magnus.
> v2: Fix title.
>
> arch/alpha/include/uapi/asm/ioctls.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/alpha/include/uapi/asm/ioctls.h b/arch/alpha/include/uapi/asm/ioctls.h
> index 971311605288f..a09d04b49cc65 100644
> --- a/arch/alpha/include/uapi/asm/ioctls.h
> +++ b/arch/alpha/include/uapi/asm/ioctls.h
> @@ -23,10 +23,10 @@
> #define TCSETSW _IOW('t', 21, struct termios)
> #define TCSETSF _IOW('t', 22, struct termios)
>
> -#define TCGETA _IOR('t', 23, struct termio)
> -#define TCSETA _IOW('t', 24, struct termio)
> -#define TCSETAW _IOW('t', 25, struct termio)
> -#define TCSETAF _IOW('t', 28, struct termio)
> +#define TCGETA 0x40127417
> +#define TCSETA 0x80127418
> +#define TCSETAW 0x80127419
> +#define TCSETAF 0x8012741c
>
> #define TCSBRK _IO('t', 29)
> #define TCXONC _IO('t', 30)
> --
> 2.51.0
>
Thanks, looks good to me!
Reviewed-by: Magnus Lindholm <linmag7@gmail.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 [PATCH] alpha: don't reference obsolete termio struct for TC* constants Sam James
` (3 preceding siblings ...)
2025-11-29 17:59 ` Magnus Lindholm
@ 2025-12-01 3:50 ` Maciej W. Rozycki
2025-12-01 3:59 ` Sam James
4 siblings, 1 reply; 14+ messages in thread
From: Maciej W. Rozycki @ 2025-12-01 3:50 UTC (permalink / raw)
To: Sam James
Cc: Richard Henderson, Matt Turner, Stian Halseth, Magnus Lindholm,
linux-alpha, linux-kernel
On Thu, 2 Oct 2025, Sam James wrote:
> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
> drops the legacy termio struct, but the ioctls.h header still defines some
> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>
> This fixes building Python for example, which falls over like:
> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>
> Link: https://bugs.gentoo.org/961769
> Link: https://bugs.gentoo.org/962600
> Co-authored-by: Stian Halseth <stian@itx.no>
> Co-authored-by: Magnus Lindholm <linmag7@gmail.com>
> Signed-off-by: Sam James <sam@gentoo.org>
FWIW, the documented tag for co-authors is Co-developed-by: and you're
supposed to collect corresponding Signed-off-by: tags from each of them
too. Cf. <Documentation/process/submitting-patches.rst> and the examples
there.
Maciej
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-12-01 3:50 ` Maciej W. Rozycki
@ 2025-12-01 3:59 ` Sam James
2025-12-01 6:34 ` Magnus Lindholm
0 siblings, 1 reply; 14+ messages in thread
From: Sam James @ 2025-12-01 3:59 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Richard Henderson, Matt Turner, Stian Halseth, Magnus Lindholm,
linux-alpha, linux-kernel
"Maciej W. Rozycki" <macro@orcam.me.uk> writes:
> On Thu, 2 Oct 2025, Sam James wrote:
>
>> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
>> drops the legacy termio struct, but the ioctls.h header still defines some
>> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>>
>> This fixes building Python for example, which falls over like:
>> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>>
>> Link: https://bugs.gentoo.org/961769
>> Link: https://bugs.gentoo.org/962600
>> Co-authored-by: Stian Halseth <stian@itx.no>
>> Co-authored-by: Magnus Lindholm <linmag7@gmail.com>
>> Signed-off-by: Sam James <sam@gentoo.org>
>
> FWIW, the documented tag for co-authors is Co-developed-by: and you're
> supposed to collect corresponding Signed-off-by: tags from each of them
> too. Cf. <Documentation/process/submitting-patches.rst> and the examples
> there.
Thanks, though I'd say I was more being gracious here and that it's not
strictly required to have them here at all.
Anyway, Magnus, I can resend with just my Signed-off-by (and nothing
else) if you like, or can you do that in your tree?
>
> Maciej
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-12-01 3:59 ` Sam James
@ 2025-12-01 6:34 ` Magnus Lindholm
2025-12-01 6:40 ` Sam James
0 siblings, 1 reply; 14+ messages in thread
From: Magnus Lindholm @ 2025-12-01 6:34 UTC (permalink / raw)
To: Sam James
Cc: Maciej W. Rozycki, Richard Henderson, Matt Turner, Stian Halseth,
linux-alpha, linux-kernel
>
> Thanks, though I'd say I was more being gracious here and that it's not
> strictly required to have them here at all.
>
> Anyway, Magnus, I can resend with just my Signed-off-by (and nothing
> else) if you like, or can you do that in your tree?
>
> >
> > Maciej
Hi, Thanks Maciej for pointing this out. Sam, lets send it out again
that way Stian can add his Signed-off-by tag as well
Magnus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants
2025-12-01 6:34 ` Magnus Lindholm
@ 2025-12-01 6:40 ` Sam James
0 siblings, 0 replies; 14+ messages in thread
From: Sam James @ 2025-12-01 6:40 UTC (permalink / raw)
To: Magnus Lindholm
Cc: Maciej W. Rozycki, Richard Henderson, Matt Turner, Stian Halseth,
linux-alpha, linux-kernel
Magnus Lindholm <linmag7@gmail.com> writes:
>>
>> Thanks, though I'd say I was more being gracious here and that it's not
>> strictly required to have them here at all.
>>
>> Anyway, Magnus, I can resend with just my Signed-off-by (and nothing
>> else) if you like, or can you do that in your tree?
>>
>> >
>> > Maciej
>
>
> Hi, Thanks Maciej for pointing this out. Sam, lets send it out again
> that way Stian can add his Signed-off-by tag as well
Sure.
>
> Magnus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sparc: don't reference obsolete termio struct for TC* constants
2025-10-19 19:18 ` Sam James
@ 2026-01-14 9:20 ` Andreas Larsson
2026-02-04 13:02 ` John Paul Adrian Glaubitz
2026-02-04 13:40 ` [PATCH v4] " Sam James
0 siblings, 2 replies; 14+ messages in thread
From: Andreas Larsson @ 2026-01-14 9:20 UTC (permalink / raw)
To: Sam James, David S. Miller; +Cc: Stian Halseth, sparclinux, linux-kernel
On 2025-10-19 21:18, Sam James wrote:
> Sam James <sam@gentoo.org> writes:
>> Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
Please refer to the referenced commit also with "commit", the SHA ID and
the oneline summary of the commit, like so:
commit ab107276607a ("powerpc: Fix struct termio related ioctl macros")
>> drops the legacy termio struct, but the ioctls.h header still defines some
>> TC* constants in terms of termio (via sizeof). Hardcode the values instead.
>>
>> This fixes building Python for example, which falls over like:
>> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>>
>> Link: https://bugs.gentoo.org/961769
>> Link: https://bugs.gentoo.org/962600
>> Co-authored-by: Stian Halseth <stian@itx.no>
>> Signed-off-by: Sam James <sam@gentoo.org>
>> ---
>> v3: Fix constants.
>> v2: Fix title.
>>
>> arch/sparc/include/uapi/asm/ioctls.h | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> Ping.
>
>>
>> diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
>> index 7fd2f5873c9e7..f26befbf690fb 100644
>> --- a/arch/sparc/include/uapi/asm/ioctls.h
>> +++ b/arch/sparc/include/uapi/asm/ioctls.h
>> @@ -5,10 +5,10 @@
>> #include <asm/ioctl.h>
>>
>> /* Big T */
>> -#define TCGETA _IOR('T', 1, struct termio)
>> -#define TCSETA _IOW('T', 2, struct termio)
>> -#define TCSETAW _IOW('T', 3, struct termio)
>> -#define TCSETAF _IOW('T', 4, struct termio)
>> +#define TCGETA 0x40125401
>> +#define TCSETA 0x80125402
>> +#define TCSETAW 0x80125403
>> +#define TCSETAF 0x80125404
>> #define TCSBRK _IO('T', 5)
>> #define TCXONC _IO('T', 6)
>> #define TCFLSH _IO('T', 7)
Please also, like in commit ab107276607a ("powerpc: Fix struct termio
related ioctl macros"), add the previous definitions as comments in
order to be able to know in the future what these hard coded constants
really should correspond to.
Don't forget to make sure that the subject gets a [PATCH v4].
Thanks,
Andreas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sparc: don't reference obsolete termio struct for TC* constants
2026-01-14 9:20 ` Andreas Larsson
@ 2026-02-04 13:02 ` John Paul Adrian Glaubitz
2026-02-04 13:40 ` [PATCH v4] " Sam James
1 sibling, 0 replies; 14+ messages in thread
From: John Paul Adrian Glaubitz @ 2026-02-04 13:02 UTC (permalink / raw)
To: Andreas Larsson, Sam James, David S. Miller
Cc: Stian Halseth, sparclinux, linux-kernel
Hi Sam,
On Wed, 2026-01-14 at 10:20 +0100, Andreas Larsson wrote:
> On 2025-10-19 21:18, Sam James wrote:
> > Sam James <sam@gentoo.org> writes:
> > > Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
>
> Please refer to the referenced commit also with "commit", the SHA ID and
> the oneline summary of the commit, like so:
>
> commit ab107276607a ("powerpc: Fix struct termio related ioctl macros")
>
> > > drops the legacy termio struct, but the ioctls.h header still defines some
> > > TC* constants in terms of termio (via sizeof). Hardcode the values instead.
> > >
> > > This fixes building Python for example, which falls over like:
> > > ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
> > >
> > > Link: https://bugs.gentoo.org/961769
> > > Link: https://bugs.gentoo.org/962600
> > > Co-authored-by: Stian Halseth <stian@itx.no>
> > > Signed-off-by: Sam James <sam@gentoo.org>
> > > ---
> > > v3: Fix constants.
> > > v2: Fix title.
> > >
> > > arch/sparc/include/uapi/asm/ioctls.h | 8 ++++----
> > > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > Ping.
> >
> > >
> > > diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
> > > index 7fd2f5873c9e7..f26befbf690fb 100644
> > > --- a/arch/sparc/include/uapi/asm/ioctls.h
> > > +++ b/arch/sparc/include/uapi/asm/ioctls.h
> > > @@ -5,10 +5,10 @@
> > > #include <asm/ioctl.h>
> > >
> > > /* Big T */
> > > -#define TCGETA _IOR('T', 1, struct termio)
> > > -#define TCSETA _IOW('T', 2, struct termio)
> > > -#define TCSETAW _IOW('T', 3, struct termio)
> > > -#define TCSETAF _IOW('T', 4, struct termio)
> > > +#define TCGETA 0x40125401
> > > +#define TCSETA 0x80125402
> > > +#define TCSETAW 0x80125403
> > > +#define TCSETAF 0x80125404
> > > #define TCSBRK _IO('T', 5)
> > > #define TCXONC _IO('T', 6)
> > > #define TCFLSH _IO('T', 7)
>
> Please also, like in commit ab107276607a ("powerpc: Fix struct termio
> related ioctl macros"), add the previous definitions as comments in
> order to be able to know in the future what these hard coded constants
> really should correspond to.
>
> Don't forget to make sure that the subject gets a [PATCH v4].
Could you send a revised version of this, please?
Debian's kernel maintainer refuses to merge this patch locally unless it's
been merged upstream.
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v4] sparc: don't reference obsolete termio struct for TC* constants
2026-01-14 9:20 ` Andreas Larsson
2026-02-04 13:02 ` John Paul Adrian Glaubitz
@ 2026-02-04 13:40 ` Sam James
2026-02-06 10:39 ` Andreas Larsson
1 sibling, 1 reply; 14+ messages in thread
From: Sam James @ 2026-02-04 13:40 UTC (permalink / raw)
To: David S. Miller, Andreas Larsson
Cc: glaubitz, Sam James, sparclinux, linux-kernel
Similar in nature to commit ab107276607a ("powerpc: Fix struct termio related ioctl macros").
glibc-2.42 drops the legacy termio struct, but the ioctls.h header still
defines some TC* constants in terms of termio (via sizeof). Hardcode the
values instead.
This fixes building Python for example, which falls over like:
./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
Link: https://bugs.gentoo.org/961769
Link: https://bugs.gentoo.org/962600
Signed-off-by: Sam James <sam@gentoo.org>
---
v4: Tweak commit message for commit ref and add comments for old definitions.
v3: Fix constants.
v2: Fix title.
arch/sparc/include/uapi/asm/ioctls.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
index 7fd2f5873c9e..a8bbdf9877a4 100644
--- a/arch/sparc/include/uapi/asm/ioctls.h
+++ b/arch/sparc/include/uapi/asm/ioctls.h
@@ -5,10 +5,10 @@
#include <asm/ioctl.h>
/* Big T */
-#define TCGETA _IOR('T', 1, struct termio)
-#define TCSETA _IOW('T', 2, struct termio)
-#define TCSETAW _IOW('T', 3, struct termio)
-#define TCSETAF _IOW('T', 4, struct termio)
+#define TCGETA 0x40125401 /* _IOR('T', 1, struct termio) */
+#define TCSETA 0x80125402 /* _IOW('T', 2, struct termio) */
+#define TCSETAW 0x80125403 /* _IOW('T', 3, struct termio) */
+#define TCSETAF 0x80125404 /* _IOW('T', 4, struct termio) */
#define TCSBRK _IO('T', 5)
#define TCXONC _IO('T', 6)
#define TCFLSH _IO('T', 7)
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v4] sparc: don't reference obsolete termio struct for TC* constants
2026-02-04 13:40 ` [PATCH v4] " Sam James
@ 2026-02-06 10:39 ` Andreas Larsson
0 siblings, 0 replies; 14+ messages in thread
From: Andreas Larsson @ 2026-02-06 10:39 UTC (permalink / raw)
To: Sam James, David S. Miller; +Cc: glaubitz, sparclinux, linux-kernel
On 2026-02-04 14:40, Sam James wrote:
> Similar in nature to commit ab107276607a ("powerpc: Fix struct termio related ioctl macros").
>
> glibc-2.42 drops the legacy termio struct, but the ioctls.h header still
> defines some TC* constants in terms of termio (via sizeof). Hardcode the
> values instead.
>
> This fixes building Python for example, which falls over like:
> ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'
>
> Link: https://bugs.gentoo.org/961769
> Link: https://bugs.gentoo.org/962600
> Signed-off-by: Sam James <sam@gentoo.org>
> ---
> v4: Tweak commit message for commit ref and add comments for old definitions.
> v3: Fix constants.
> v2: Fix title.
>
> arch/sparc/include/uapi/asm/ioctls.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
> index 7fd2f5873c9e..a8bbdf9877a4 100644
> --- a/arch/sparc/include/uapi/asm/ioctls.h
> +++ b/arch/sparc/include/uapi/asm/ioctls.h
> @@ -5,10 +5,10 @@
> #include <asm/ioctl.h>
>
> /* Big T */
> -#define TCGETA _IOR('T', 1, struct termio)
> -#define TCSETA _IOW('T', 2, struct termio)
> -#define TCSETAW _IOW('T', 3, struct termio)
> -#define TCSETAF _IOW('T', 4, struct termio)
> +#define TCGETA 0x40125401 /* _IOR('T', 1, struct termio) */
> +#define TCSETA 0x80125402 /* _IOW('T', 2, struct termio) */
> +#define TCSETAW 0x80125403 /* _IOW('T', 3, struct termio) */
> +#define TCSETAF 0x80125404 /* _IOW('T', 4, struct termio) */
> #define TCSBRK _IO('T', 5)
> #define TCXONC _IO('T', 6)
> #define TCFLSH _IO('T', 7)
Reviewed-by: Andreas Larsson <andreas@gaisler.com>
Picking this up to my for-next.
Thanks,
Andreas
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-02-06 10:39 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-01 23:00 [PATCH] alpha: don't reference obsolete termio struct for TC* constants Sam James
2025-10-01 23:00 ` [PATCH] sparc: " Sam James
2025-10-19 19:18 ` Sam James
2026-01-14 9:20 ` Andreas Larsson
2026-02-04 13:02 ` John Paul Adrian Glaubitz
2026-02-04 13:40 ` [PATCH v4] " Sam James
2026-02-06 10:39 ` Andreas Larsson
2025-10-19 19:18 ` [PATCH] alpha: " Sam James
2025-11-29 16:31 ` Magnus Lindholm
2025-11-29 17:59 ` Magnus Lindholm
2025-12-01 3:50 ` Maciej W. Rozycki
2025-12-01 3:59 ` Sam James
2025-12-01 6:34 ` Magnus Lindholm
2025-12-01 6:40 ` Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox