svn commit: trunk/uClibc/libc/sysdeps/linux/common

Cheung Yik Pang yp.cheung at pithk.com
Wed Feb 22 09:06:36 UTC 2006


It works!

I built a arm/nommu static toolchain successfully with this revision of
uclibc, gcc 3.4.5 and kernel 2.4.17 headers.  Thank you very much for
fixing the sendfile64 thing!

The toolchain is still not usable though.  Compiling the helloworld
program fails with:

helloworld.elf2flt(.text+0x2b9c): In function `__uClibc_fini':
libc/misc/internals/__uClibc_main.c:261: undefined reference to
`__fini_array_end'
helloworld.elf2flt(.text+0x2ba0):libc/misc/internals/__uClibc_main.c:261:
undefined reference to `__fini_array_start'
helloworld.elf2flt(.text+0x2d94): In function `__uClibc_main':
libc/misc/internals/__uClibc_main.c:390: undefined reference to
`__preinit_array_end'
helloworld.elf2flt(.text+0x2d98):libc/misc/internals/__uClibc_main.c:390:
undefined reference to `__preinit_array_start'
helloworld.elf2flt(.text+0x2d9c):libc/misc/internals/__uClibc_main.c:390:
undefined reference to `__init_array_end'
helloworld.elf2flt(.text+0x2da0):libc/misc/internals/__uClibc_main.c:390:
undefined reference to `__init_array_start'
collect2: ld returned 1 exit status

-Cheung

> On Mon, 20 Feb 2006 psm at uclibc.org wrote:
>
>> Author: psm
>> Date: 2006-02-20 23:08:01 -0800 (Mon, 20 Feb 2006)
>> New Revision: 14161
>>
>> Log:
>> Solve sendfile64 conflict if __NR_sendfile64 does not exist
>>
>> Modified:
>>    trunk/uClibc/libc/sysdeps/linux/common/sendfile.c
>
> I have committed a change that should solve the issues with sendfile[64]
> on some archs (arm) and apparently 2.4 headers. Could all of you having
> this problem recheck if it is solved for you.
>
> Thanks, Peter
>
>>
>> Changeset:
>> Modified: trunk/uClibc/libc/sysdeps/linux/common/sendfile.c
>> ===================================================================
>> --- trunk/uClibc/libc/sysdeps/linux/common/sendfile.c	2006-02-21
>> 06:44:43 UTC (rev 14160)
>> +++ trunk/uClibc/libc/sysdeps/linux/common/sendfile.c	2006-02-21
>> 07:08:01 UTC (rev 14161)
>> @@ -7,17 +7,19 @@
>>   * Licensed under the LGPL v2.1, see the file COPYING.LIB in this
>> tarball.
>>   */
>>
>> +/* need to hide the 64bit prototype or the strong_alias()
>> + * will fail when __NR_sendfile64 doesnt exist */
>> +#define sendfile64 __hidesendfile64
>> +
>>  #include "syscalls.h"
>>  #include <unistd.h>
>>  #include <sys/sendfile.h>
>>
>> +#undef sendfile64
>> +
>>  _syscall4(ssize_t, sendfile, int, out_fd, int, in_fd, __off_t *,
>> offset,
>>  		  size_t, count);
>>
>>  #if ! defined __NR_sendfile64 && defined __UCLIBC_HAS_LFS__
>> -#undef sendfile64
>> -extern __typeof(sendfile) sendfile64;
>> -libc_hidden_proto(sendfile64)
>>  strong_alias(sendfile,sendfile64)
>> -libc_hidden_def(sendfile64)
>>  #endif
>>
>> _______________________________________________
>> uClibc-cvs mailing list
>> uClibc-cvs at uclibc.org
>> http://busybox.net/cgi-bin/mailman/listinfo/uclibc-cvs
>>
>>
>
> --
> Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
> Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://busybox.net/cgi-bin/mailman/listinfo/uclibc
>




More information about the uClibc mailing list