Re: [PATCH] alpha: don't reference obsolete termio struct for TC* constants

From: Magnus Lindholm

Date: Sat Nov 29 2025 - 11:31:58 EST


Thanks, looks good to me, sorry for a late reply.

Reviewed-by: Magnus Lindholm <linmag7@xxxxxxxxx>


On Thu, Oct 2, 2025 at 1:01 AM Sam James <sam@xxxxxxxxxx> 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@xxxxxx>
> Co-authored-by: Magnus Lindholm <linmag7@xxxxxxxxx>
> Signed-off-by: Sam James <sam@xxxxxxxxxx>
> ---
> 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
>