Public bug reported:
In Ubuntu 25.10 we moved to glibc 2.42. Here glibc has changed the
implementation of isatty(). It now uses IOCTL TCGETS2 instead of TCGETS.
TCGETS2 is not emulated by static QEMU (qemu-riscv64, qemu-arm64, ...).
This leads to failures in containers for foreign architectures. E.g. no console
prompt is displayed.
A detailed analysis is contained in LP #2133188.
A proper implementation of the missing IOCTLs will include:
Functions:
in linux-user/syscall.c:
host_to_target_termios2()
target_to_host_termios2()
print_termios2()
Definitions:
in linux-user/syscall.c
#define termios2 host_termios2
in linux-user/syscall_types.h
STRUCT_SPECIAL(termios2)
in linux-user/ioctls.h:
IOCTL(TCGETS2, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios2)))
IOCTL(TCSETS2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2)))
IOCTL(TCSETSF2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2)))
IOCTL(TCSETSW2, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios2)))
in linux-user/user-internals.h:
void print_termios2(void *arg);
** Affects: qemu (Ubuntu)
Importance: High
Status: Confirmed
** Changed in: qemu (Ubuntu)
Status: New => Confirmed
** Changed in: qemu (Ubuntu)
Importance: Undecided => High
** Changed in: qemu (Ubuntu)
Milestone: None => ubuntu-26.04
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2133804
Title:
QEMU does not emulate IOCTL TCGETS2
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2133804/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs