ioctl structs differ from x86_64?

Reza Arbab arbab at linux.vnet.ibm.com
Thu Mar 16 05:11:20 AEDT 2017


On Tue, Mar 14, 2017 at 10:37:44AM +0000, Harshal Patil wrote:
>Our guess is the ioctls in ppc64le differ than x86_64, and thats why 
>the code which is clearing onclr bit 
>([4]https://github.com/opencontainers/runc/commit/eea28f480db435dbef4a275de9776b9934818b8c#diff-5f5c07d0cab3ce2086437d3d43c0d25fR164)
>is failing on ppc64le but works fine on x86_64. 
> 
>Any pointers on the possible solution would be really helpful. 

This looks like a bug in Go.

The syscall.TCGETS and syscall.TCSETS constants have the wrong values. 
They were generated using the glibc termios struct instead of the kernel 
termios struct. It's the issue described here:

https://groups.google.com/forum/#!topic/golang-nuts/K5NoG8slez0

Things work if you replace syscall.TCGETS with 0x402c7413 and 
syscall.TCSETS with 0x802c7414, the correct values on ppc64le.

-- 
Reza Arbab



More information about the Linuxppc-dev mailing list