On 16 Nov 2012 03:52, "Rich Felker" wrote: > > Hi all, > > In the process of integrating the powerpc port, it's come to my > attention that the termios structure (used for setting terminal > attributes) differs gratuitously between archs at the kernel level. > glibc (and thus the LSB ABI, which we've tried to follow) fudges > around this by always using the same userspace structure and > translating from the kernelspace structure. I'm not sure what the > benefit of this is (aside from having extra slots for expansion in > c_cc array), but the downsides are (1) binary bloat and ugly > arch-specific code for conversion, and (2) failure of a direct TCGETS > ioctl (as opposed to a tcgetattr function call) to fill the struct > properly, since it bypasses the translation. > > My leaning is to ignore the existing ABI on this and just use the > arch-specific structure from the kernel on ppc and any other archs > with this brokenness (alpha seems to be the main other one, possibly > the only). Unlike x86, x86_64, or arm, I don't see a lot of usefulness > in running glibc binaries on musl-powerpc; if it's ever needed, we > could do patch-up work in the dynamic linker (which will eventually be > needed anyway to deal with wrong regoff_t on x86_64 and 32-bit-off_t > functions on 32-bit archs) to load such apps/libs. > > Since it's a decision we can't really change later without breaking > ABI, though, I'd like to ask the community: does anybody have a strong > feeling about whether we should use the kernel termios structure > directly or do like glibc and use an arch-generic userspace termios > structure and code to convert to/from the kernel version? > > The powerpc port will probably be considered experimental in the > upcoming release, so we can take our time on the issue a bit, but I'd > still rather hear comments sooner than later if you have some. > > Rich I would prefer the kernel structure. Justin