[vlc-devel] commit "gnutls: use vectorized sends on all platforms" breaks Android

Andrey Gursky andrey.gursky at e-mail.ua
Mon Jan 18 15:51:10 CET 2016


On Mon, 18 Jan 2016 16:28:27 +0200
Rémi Denis-Courmont <remi at remlab.net> wrote:

> Le 2016-01-18 16:22, Andrey Gursky a écrit :
> > On Mon, 18 Jan 2016 11:01:51 +0200
> > Rémi Denis-Courmont <remi at remlab.net> wrote:
> >
> >> Le 2016-01-18 03:57, Andrey Gursky a écrit :
> >> > Hi,
> >> >
> >> > was it not a little bit to optimistic to remove #ifdef IOV_MAX?
> >>
> >> It was there to protect the sendmsg() call, as sendmsg() was missing 
> >> on
> >> Windows. We have a replacement now.
> >
> > Please believe me, I wouldn't complain about it if it wouldn't break 
> > a
> > build on Android.
> 
> Heh, I wrote that ifdef and the code within it. I know why I added that 
> ifdef (because Windows lacked sendmsg()), as I do why I removed it 
> (because we have a replacement for sendmsg(() now).
> 
> IOV_MAX is *not* an optional fancy part of sendmsg(), or more 
> generally, I/O vectors support. IOV_MAX exists to prevent overflows when 
> copying or converting the vectors. VLC can't do without it, and the 
> Linux kernel couldn't do without it either.

The Android's Linux kernel itself hopefully yes, but there is at least
no define for that.

$ grep -rI IOV_MAX android-ndk-r10e
android-ndk-r10e/prebuilt/linux-x86_64/lib/python2.7/plat-linux2/IN.py:IOV_MAX = 1024
android-ndk-r10e/prebuilt/linux-x86_64/lib/python2.7/plat-linux2/IN.py:_XOPEN_IOV_MAX = _POSIX_UIO_MAXIOV
android-ndk-r10e/prebuilt/linux-x86_64/lib/perl5/5.16.2/x86_64-linux/Socket.pm:# Still undocumented: SCM_*, SOMAXCONN, IOV_MAX, UIO_MAXIOV
android-ndk-r10e/prebuilt/linux-x86_64/lib/perl5/5.16.2/x86_64-linux/Socket.pm:	IOV_MAX
android-ndk-r10e/platforms/android-4/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-3/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-16/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-16/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-16/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-21/arch-mips64/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-21/arch-arm64/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-21/arch-x86_64/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-21/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-21/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-21/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-14/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-14/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-14/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-13/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-13/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-13/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-18/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-18/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-18/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-5/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-12/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-12/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-12/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-19/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-19/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-17/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-17/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-17/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-9/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-9/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-9/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-8/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-15/arch-mips/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-15/arch-x86/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
android-ndk-r10e/platforms/android-15/arch-arm/usr/include/sys/sysconf.h:#define _SC_IOV_MAX             0x0026
$


More information about the vlc-devel mailing list