From fca8833970eba88dc3b2d48a437e2bbe1e1f1190 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 12 Sep 2025 21:04:24 +0200 Subject: [PATCH] Modules/termios.c: stop using TC operations that need termio.h Modules/termios.c makes use of TCGETA, TCSETA, TCSETAF and TCSETAW if they are defined. They are defined by kernel headers on a limited set of CPU architectures, but require the "struct termio" definition to exist, and this structure definition has been removed from glibc as of version 2.42. Since these are seldomly used, we take the approach of just dropping support for those, in order to fix the following build issue: ./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio' 1119 | {"TCGETA", TCGETA}, | ^~~~~~ ./Modules/termios.c:1131:16: error: invalid application of 'sizeof' to incomplete type 'struct termio' 1131 | {"TCSETA", TCSETA}, | ^~~~~~ ./Modules/termios.c:1134:17: error: invalid application of 'sizeof' to incomplete type 'struct termio' 1134 | {"TCSETAF", TCSETAF}, | ^~~~~~~ ./Modules/termios.c:1137:17: error: invalid application of 'sizeof' to incomplete type 'struct termio' 1137 | {"TCSETAW", TCSETAW}, | ^~~~~~~ make[1]: *** [Makefile:3403: Modules/termios.o] Error 1 This issue is observed at least on sparc64, but not on more "mainstream" CPU architectures, as they do not define TCGETA/TCSETA/TCSETAF/TCSETAW. Signed-off-by: Thomas Petazzoni --- Modules/termios.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Modules/termios.c b/Modules/termios.c index b4eb06cf8ae8ac..7bd531b4036b40 100644 --- a/Modules/termios.c +++ b/Modules/termios.c @@ -1116,9 +1116,6 @@ static struct constant { #ifdef TCFLSH {"TCFLSH", TCFLSH}, #endif -#ifdef TCGETA - {"TCGETA", TCGETA}, -#endif #ifdef TCGETS {"TCGETS", TCGETS}, #endif @@ -1128,15 +1125,6 @@ static struct constant { #ifdef TCSBRKP {"TCSBRKP", TCSBRKP}, #endif -#ifdef TCSETA - {"TCSETA", TCSETA}, -#endif -#ifdef TCSETAF - {"TCSETAF", TCSETAF}, -#endif -#ifdef TCSETAW - {"TCSETAW", TCSETAW}, -#endif #ifdef TCSETS {"TCSETS", TCSETS}, #endif