Commit c821210b authored by Baruch Siach's avatar Baruch Siach Committed by Thomas Petazzoni
Browse files

python: fix termios build for xtensa

The xtensa ioctls.h header references struct serial_multiport_struct that is
not defined in this header or included headers. ioctls.h also references
tty_struct that is not exported to userspace at all. Add a patch fixing these
issues.

This is only a workaround as the real problem should be fixed in the kernel
(by removing all struct references like all other archs). But since we support
older kernel versions we'll have to carry this patch for some time.

Fixes:
http://autobuild.buildroot.net/results/12b/12b5612828d7f1fc7d1f69fc01341d5a6e628db5/



Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: default avatarBaruch Siach <baruch@tkos.co.il>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 402a537b
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
Serial ioctl() workaround

The ioctls.h of some architectures (notably xtensa) references structs from
linux/serial.h. Make sure to include this header as well.

Also, undef TIOCTTYGSTRUCT that require reference to internal kernel tty_struct,
but isn't actually referenced in modern kernels.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
diff -Nuar Python-2.7.8-orig/Modules/termios.c Python-2.7.8/Modules/termios.c
--- Python-2.7.8-orig/Modules/termios.c	2014-06-30 05:05:44.000000000 +0300
+++ Python-2.7.8/Modules/termios.c	2014-07-18 06:16:43.393010357 +0300
@@ -16,7 +16,9 @@
  * so this needs to be included first on that platform. */
 #include <termio.h>
 #endif
+#include <linux/serial.h>
 #include <sys/ioctl.h>
+#undef TIOCTTYGSTRUCT
 
 /* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR,
  * MDTR, MRI, and MRTS (appearantly used internally by some things