Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 26 Apr 2016 20:44:25 +0200
From: Szabolcs Nagy <>
Cc: Jaydeep Patil <>
Subject: Re: mips64/n32 struct termios

* Rich Felker <> [2016-04-26 13:27:04 -0400]:
> I noticed that the mips64/n32 versions of struct termios have omitted
> the two speed_t fields at the end, which other archs (including mips)
> all have. It's dubious whether these make sense or are useful for
> anything, and I don't even recall the whole history of why we have
> them, but as long as we do have them for all the other archs I kind of
> think it makes sense to put them back for mips64/n32 in case we ever
> need them for something (or for expansion) or want generic code to be
> able to access them.
> Was there a reason they were omitted in the new ports? Any objection
> to adding them back?

see my [PATCH 16/16] fix struct termios in mips termios.h
(that can be done in the other direction fixing mips64,n32)

termios struct is special on mips and ppc:

mips glibc: NCCS = 32, no speed fields
mips linux: NCCS = 23

ppc glibc: NCCS = 32, speed fields
ppc linux: NCCS = 19, c_line swapped, only termios, no termios2

other glibc: NCCS = 32, speed fields
other linux: NCCS = 19

the kernel side only has speed fields in termios2 except on ppc
where termios has them, in glibc termios has speed fields except
on mips.  (the __ prefixed fields are only present in musl probably
to match the termios struct size on x86.)

i don't know why there are these differences and how it can work
in practice, but e.g. util-linux ldattach seems to use them with
BOTHER cflag and probably one can query them with TCGETS(2).

glibc tcsetattr/tcgetattr translates glibc termios to kernel
termios, so one can set/get the fields that way too and there
is further powerpc specific magic in that translation.

> Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.