BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000748 [uClibc] Architecture Specific major always 02-20-06 07:43 02-24-06 11:11
Reporter jcwillia View Status public  
Assigned To
Priority normal Resolution fixed  
Status closed   Product Version 0.9.28
Summary 0000748: Compliation failure for arm due to sendfile/sendfile64 conflict
Description When using daily snapshot with buildroot, building for StrongARM (SA1100), the file toolchain_build_arm/uClibc/libc/sysdeps/linux/common/sendfile.c fails to compile with the following errors:
  CC libc/sysdeps/linux/common/sendfile.os
libc/sysdeps/linux/common/sendfile.c:19: error: conflicting types for 'sendfile64'
./include/sys/sendfile.h:47: error: previous declaration of 'sendfile64' was here
libc/sysdeps/linux/common/sendfile.c:20: error: conflicting types for 'sendfile64'
./include/sys/sendfile.h:47: error: previous declaration of 'sendfile64' was here
libc/sysdeps/linux/common/sendfile.c:21: error: conflicting types for 'sendfile64'
./include/sys/sendfile.h:47: error: previous declaration of 'sendfile64' was here
libc/sysdeps/linux/common/sendfile.c:22: error: '__EI_sendfile64' aliased to undefined symbol '__GI_sendfile64'
make[2]: *** [libc/sysdeps/linux/common/sendfile.os] Error 1
make[1]: *** [lib/libc.so.0] Error 2
Additional Information Build for mipsel and i386 on same source succeeded. commenting out the conditional block at the bottom of sendfile.c allows ARM buildroot to succeed (execution not tested on target).

Suspect it's some difference between syscall.h/syscalls.h in arm architecture, but haven't found it yet. Attached is a preprocessor .i file generated from the command:
 /export/src/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc -E libc/sysdeps/linux/common/sendfile.c -o sendfile.i -include ./include/libc-symbols.h -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -mlittle-endian -mtune=strongarm1100 -march=armv4 -fno-builtin -nostdinc -I./include -I. -fsigned-char -fstrict-aliasing -Os -funit-at-a-time -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/arm -I./libpthread/linuxthreads.old/sysdeps/arm -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -isystem /export/src/buildroot/build_arm/staging_dir/lib/gcc/arm-linux-uclibc/4.0.2/include -DNDEBUG -fPIC
Attached Files  sendfile.i [^] (33,842 bytes) 02-20-06 07:43

- Relationships

- Notes
(0001124)
jcwillia
02-20-06 10:46

forgot to mention: using gcc-4.0.2
 
(0001132)
jcwillia
02-20-06 14:47

Looks like mips and i386 kernel headers define sendfile64, while arm headers do not (in an '#if 0' block).
 
(0001133)
jcwillia
02-20-06 15:08

Problem was that I was using 2.4.31 kernel headers. Moved to 2.6.12 headers and __NR_sendfile64 is defined, so the problematic block at the bottom of sendfile.c is avoided.
 
(0001134)
psm
02-20-06 23:11

could you check current svn, I hope I solved it, thx for the proper report
 
(0001139)
jcwillia
02-21-06 14:09
edited on: 02-21-06 14:09

I updated to latest svn:

[williams@foo buildroot]$ svn update
U toolchain/Config.in
U toolchain/gcc/Config.in
U docs/download.html
Updated to revision 14166.

rebuilt with 2.4.31 kernel headers. no change.

Are you trying to automatically detect the problem and correct it in the Config.in? Wonder if it wouldn't be easier to undef __UCLIBC_HAS_LFS__ (but I don't know if no sendfile64 means no large file support).

 
(0001140)
psm
02-21-06 15:33

you need uClibc svn, sendfile.c was changed
 
(0001141)
jcwillia
02-21-06 15:37

doh! sorry...

I'll fetch the svn tree, tar it up and feed it to buildroot
 
(0001142)
jcwillia
02-21-06 16:42

That did it! ARM compiles with 2.4.31 kernel headers. Thanks
 

- Issue History
Date Modified Username Field Change
02-20-06 07:43 jcwillia New Issue
02-20-06 07:43 jcwillia Status new => assigned
02-20-06 07:43 jcwillia Assigned To  => uClibc
02-20-06 07:43 jcwillia File Added: sendfile.i
02-20-06 09:52 jcwillia Issue Monitored: jcwillia
02-20-06 10:46 jcwillia Note Added: 0001124
02-20-06 11:22 vapier Summary Compliation failure for arm => Compliation failure for arm due to sendfile/sendfile64 conflict
02-20-06 14:47 jcwillia Note Added: 0001132
02-20-06 15:08 jcwillia Note Added: 0001133
02-20-06 15:10 jcwillia Issue End Monitor: jcwillia
02-20-06 23:11 psm Note Added: 0001134
02-21-06 14:09 jcwillia Note Added: 0001139
02-21-06 14:09 jcwillia Note Edited: 0001139
02-21-06 15:33 psm Note Added: 0001140
02-21-06 15:37 jcwillia Note Added: 0001141
02-21-06 16:42 jcwillia Note Added: 0001142
02-24-06 11:06 psm Resolution open => fixed
02-24-06 11:10 psm Assigned To uClibc => psm
02-24-06 11:11 psm Assigned To psm =>
02-24-06 11:11 psm Status assigned => closed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker