* [PATCH] sparc: don't reference obsolete termio struct for TC* constants
[not found] <99f1a93cf8cd4f0ece8611be2860677084663aac.1759359610.git.sam@gentoo.org>
@ 2025-10-01 23:00 ` Sam James
2025-10-19 19:18 ` Sam James
0 siblings, 1 reply; 6+ 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] 6+ messages in thread
* Re: [PATCH] sparc: don't reference obsolete termio struct for TC* constants
2025-10-01 23:00 ` [PATCH] sparc: don't reference obsolete termio struct for TC* constants Sam James
@ 2025-10-19 19:18 ` Sam James
2026-01-14 9:20 ` Andreas Larsson
0 siblings, 1 reply; 6+ 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] 6+ 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; 6+ 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] 6+ 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; 6+ 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] 6+ 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; 6+ 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] 6+ 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; 6+ 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] 6+ messages in thread
end of thread, other threads:[~2026-02-06 10:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <99f1a93cf8cd4f0ece8611be2860677084663aac.1759359610.git.sam@gentoo.org>
2025-10-01 23:00 ` [PATCH] sparc: don't reference obsolete termio struct for TC* constants 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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox