From: Rich Felker Date: Sun, 3 Jul 2016 14:49:52 +0000 (-0400) Subject: add consistent reserved fields in mips64/n32 termios structures X-Git-Tag: v1.1.15~34 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7158481d51960d4ff8fe2f113bcbfa7d5b862648;p=oweals%2Fmusl.git add consistent reserved fields in mips64/n32 termios structures the (unused) speed fields were omitted when these ports were first added (within this release cycle, so not present in any release yet) in accordance with how glibc defines the structure on mips archs. however their omission does not match existing musl practice/intent. glibc provides its own, mostly-unified termios structure definition and performs translation in userspace to match the kernel structure for the arch, but has gratuitous differences on a few archs like mips, presumably as a result of historical mistakes. some other libcs use the kernel definitions directly. musl essentially does that, by matching the kernel layout in the part of the structure the kernel will read/write, but leaves additional space at the end for extensibility. these are nominally the (nonstandard) speed fields and (on most archs) extra c_cc elements, but since they are not used they could be repurposed if there's ever a need. --- diff --git a/arch/mips64/bits/termios.h b/arch/mips64/bits/termios.h index 3a7d5a13..b19d4867 100644 --- a/arch/mips64/bits/termios.h +++ b/arch/mips64/bits/termios.h @@ -5,6 +5,8 @@ struct termios { tcflag_t c_lflag; cc_t c_line; cc_t c_cc[NCCS]; + speed_t __c_ispeed; + speed_t __c_ospeed; }; #define VINTR 0 diff --git a/arch/mipsn32/bits/termios.h b/arch/mipsn32/bits/termios.h index 3a7d5a13..b19d4867 100644 --- a/arch/mipsn32/bits/termios.h +++ b/arch/mipsn32/bits/termios.h @@ -5,6 +5,8 @@ struct termios { tcflag_t c_lflag; cc_t c_line; cc_t c_cc[NCCS]; + speed_t __c_ispeed; + speed_t __c_ospeed; }; #define VINTR 0