packages/net/transmission/patches/010_libtransmission_fallocate64_eglibc.patch
mirko 767ef9fce3 If eglibc (2.1.5) is selected in openwrt instead
of uclibc, transmission package will fail to
build because the function definition exported by the
libtransmission/fdlimit.c is lightly different than
the function definition in fcntl.h that is installed
by eglibc.

To get transmission build to work both with uclibc
and eglibc, fdlimit.c needs to export function
only if the build toolchain uses uclibc.

This fixes also a openwrt bug
https://dev.openwrt.org/ticket/8820

openwrt_trunk.git/staging_dir/
toolchain-mipsel_gcc-4.6-linaro_eglibc-2.15/lib/
gcc/mipsel-openwrt-linux-gnu/4.6.3/../../../../
mipsel-openwrt-linux-gnu/sys-include/bits/fcntl.h:316:12:
error: conflicting types for 'fallocate64'
fdlimit.c:30:14: note: previous declaration of 'fallocate64' was here

Signed-off-by: Mika Laitio <mika.laitio@nokia.com>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@33012 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-06 11:08:44 +00:00

14 lines
621 B
Diff

diff -Naur transmission-2.61/libtransmission/fdlimit.c transmission-2.61-new/libtransmission/fdlimit.c
--- transmission-2.61/libtransmission/fdlimit.c 2012-07-24 04:59:03.429474697 +0300
+++ transmission-2.61-new/libtransmission/fdlimit.c 2012-07-31 14:40:23.999860054 +0300
@@ -25,7 +25,8 @@
#include <fcntl.h>
#endif
-#ifdef HAVE_FALLOCATE64
+/* no need to define fallocate64 in glibc/eglibc case */
+#if defined(__UCLIBC__) && (HAVE_FALLOCATE64)
/* FIXME can't find the right #include voodoo to pick up the declaration.. */
extern int fallocate64( int fd, int mode, uint64_t offset, uint64_t len );
#endif