python: fix termios build for xtensa
PATCH 1/1 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/
--- .../python-015-serial-ioctl-workaround.patch | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/python/python-015-serial-ioctl-workaround.patch
package/python/python-015-serial-ioctl-workaround.patch new file +23 -0
@@ -0,0 +1,23 @@ +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 <[email protected]> +--- +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
Signature · 1 line
2.0.1
PATCH 1/1 python: fix termios build for xtensa
Quoted 12 lines · Baruch Siach
The xtensa
ioctls.hheader references structserial_multiport_structthat is not defined in this header or included headers.ioctls.halso referencestty_structthat 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/
Quoted 6 lines
Cc Max Filippov <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- .../python-015-serial-ioctl-workaround.patch | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/python/python-015-serial-ioctl-workaround.patch
Thank you, Baruch.
I'll send corresponding linux patches. I definitely saw this issue some time ago,
but I couldn't find any trace of that ):
Signature · 2 lines
Thanks. -- Max
PATCH 1/1 python: fix termios build for xtensa
Hi Max,
Quoted 20 lines · Max Filippov
Quoted 12 lines · Baruch Siach
The xtensa
ioctls.hheader references structserial_multiport_structthat is not defined in this header or included headers.ioctls.halso referencestty_structthat 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/Quoted 6 lines
Cc Max Filippov <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- .../python-015-serial-ioctl-workaround.patch | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/python/python-015-serial-ioctl-workaround.patch
Quoted 4 lines
Thank you, Baruch.
I'll send corresponding linux patches. I definitely saw this issue some time ago,
but I couldn't find any trace of that ):
You mean commit b973b4c91be8f (xtensa: fix TIOCGSERIAL and TIOCSSERIAL definitions)? It solved part of the problem.
It seems most other architectures migrated to asm-generic/ioctls.h.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 python: fix termios build for xtensa
Quoted 23 lines · Baruch Siach
Hi Max,
Quoted 20 lines · Max Filippov
Quoted 18 lines · Baruch Siach
The xtensa
ioctls.hheader references structserial_multiport_structthat is not defined in this header or included headers.ioctls.halso referencestty_structthat 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 <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- .../python-015-serial-ioctl-workaround.patch | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/python/python-015-serial-ioctl-workaround.patch
Quoted 7 lines
Quoted 4 lines
Thank you, Baruch.
I'll send corresponding linux patches. I definitely saw this issue some time ago,
but I couldn't find any trace of that ):You mean commit
b973b4c91be8f(xtensa: fix TIOCGSERIAL and TIOCSSERIAL definitions)? It solved part of the problem.
Oh, right, other similar symbols.
Quoted 1 line
It seems most other architectures migrated to
asm-generic/ioctls.h.
This would change existing IOCTL codes, so I don't think we can do it.
Signature · 2 lines
Thanks. -- Max
Thomas Petazzoni
AppliedPATCH 1/1 python: fix termios build for xtensa
In reply to Baruch SiachDear Baruch Siach,
Quoted 12 lines · Baruch Siach
The xtensa
ioctls.hheader references structserial_multiport_structthat is not defined in this header or included headers.ioctls.halso referencestty_structthat 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/
Quoted 6 lines
Cc Max Filippov <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- .../python-015-serial-ioctl-workaround.patch | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/python/python-015-serial-ioctl-workaround.patch
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com