On Mon, Jun 24, 2013 at 04:14:52PM +0200, walter harms wrote: > > hi, > normally busybox is build with -Os for size optimisation. > Will you give it a try without any -O ?
-Os should never affect alignment. If it does that's a serious gcc bug... Rich > > re, > wh > > Am 24.06.2013 16:09, schrieb piquemal michel: > > HI Dietmar, > > > > I did rebuilt the whole uclibc and toolchain with long file support: same > > result (see below the extended printf of stat structure): it's definitely > > an alignment issue. > > Could that come from some GCC optimization? I've not set any in busybox > > config. It seems default buildroot toochain build has some GGC > > optimizations. > > > > It really seems a related busybox issue (probably something in .config), > > since other own-applications I compiled work without issues: including > > those working with stat/lstat (through glob() for instance). > > > > I could not upload cross-compiled uClibc on target, since if I touch the > > target's one in /lib (ram mapped), the target won't work anymore, and I can > > not build/flash a new firmware. > > > > > > > > # busybox_dyn tar -cf toto.tar tst > > tar: status=0 flags=1 statbuf.st_ino=117074 statbuf.st_mode=838 > > tar: sizeof(statbuf.st_ino)=4 offsetof(struct stat, st_mode)=20 > > device : 0x1 > > inode : 117074 > > mode : 0x346 > > nlink : 16877 > > uid : 2 > > gid : 0 > > rdev : 0x0 > > size : 0 > > blksize : 0 > > blocks : 4096 > > atime : 796000001 > > mtime : 796000001 > > ctime : 796000001 > > tar: tst: unknown file type > > tar: error exit delayed from previous errors > > > > # busybox_stat tar -cf toto.tar tst > > > > tar: status=0 flags=1 statbuf.st_ino=838 statbuf.st_mode=16877 > > tar: sizeof(statbuf.st_ino)=4 offsetof(struct stat, st_mode)=20 > > device : 0x1 > > inode : 838 > > mode : 0x41ed > > nlink : 2 > > uid : 0 > > gid : 0 > > rdev : 0x0 > > size : 0 > > blksize : 4096 > > blocks : 0 > > atime : 1372079482 > > mtime : 1371975600 > > ctime : 1371975600 > > tar: status=0 flags=1 statbuf.st_ino=861 statbuf.st_mode=33188 > > tar: sizeof(statbuf.st_ino)=4 offsetof(struct stat, st_mode)=20 > > device : 0x1 > > inode : 861 > > mode : 0x81a4 > > nlink : 1 > > uid : 0 > > gid : 0 > > rdev : 0x0 > > size : 0 > > blksize : 4096 > > blocks : 0 > > atime : 1371975600 > > mtime : 1371975600 > > ctime : 1371975600 > > tar: status=0 flags=1 statbuf.st_ino=857 statbuf.st_mode=33188 > > tar: sizeof(statbuf.st_ino)=4 offsetof(struct stat, st_mode)=20 > > device : 0x1 > > inode : 857 > > mode : 0x81a4 > > nlink : 1 > > uid : 0 > > gid : 0 > > rdev : 0x0 > > size : 0 > > blksize : 4096 > > blocks : 0 > > atime : 1371975596 > > mtime : 1371975596 > > ctime : 1371975596 > > > > > > > > > > > > > > > > > > > > ----- Mail original ----- > > De : "[email protected]" > > <[email protected]> > > À : > > Cc : [email protected] > > Envoyé le : Lundi 24 juin 2013 14h36 > > Objet : AW: AW: AW: AW: Issue with tar (Busybox 1.20.2): unknown file type > > > >> Von: piquemal michel [mailto:[email protected]] > >> Gesendet: Montag, 24. Juni 2013 12:47 > >> ... > >> Is there a way to check with which option target's uClibc has been built? > >> Obviously I only > >> have .so files on the target, so it's hard to know if it was built with > >> LFS, or any other > >> important option. > >> My toolchain was build with default uClibc buildroot's options, so no LFS > >> it seems. > >> If there is a way to know which options my target's lib has, then I'll > >> rebuild tools with > >> corresponding ones for sure. Or if not, what should be the safest options > >> then? > > > > I meant the CONFIG_LFS option of busybox only... just a thought, whether > > this would have an impact, but probably not. (What config options uClibc > > might have, I don't know.) > > Didn't you transfer a newly built libc to the target? Perhaps there was a > > misunderstanding: I wouldn't primarily have recommended re-building the > > whole toolchain, but the libc, and use the new one on the target. > > > >> ----- Mail original ----- > >> De : "[email protected]" > >> <[email protected]> > >> À : > >> Cc : [email protected] > >> Envoyé le : Lundi 24 juin 2013 10h31 > >> Objet : AW: AW: AW: Issue with tar (Busybox 1.20.2): unknown file type > >> > >>> Von: piquemal michel [mailto:[email protected]] > >>> Gesendet: Sonntag, 23. Juni 2013 09:40 > >>> ... > >>> Did add printf (bb_error_msg) in > >>> libbb/recursive_action.c:recursive_action(), after > >>> status = (follow ? stat : lstat)(fileName, &statbuf) > >>> > >>> bb_error_msg("status=%d flags=%x statbuf.st_ino=%d statbuf.st_mode=%d", > >>> status, flags, > >>> statbuf.st_ino, statbuf.st_mode); > >>> > >>> and compiled 2 versions: one static (that works), and one dynamic. > >>> > >>> > >>> I tryied to tar tst directory (which contains 2 files) with the 2 > >>> compiled versions: > >>> > >>> # busybox_stat tar -cf toto.tar tst > >>> tar: status=0 flags=1 statbuf.st_ino=838 statbuf.st_mode=16877 > >>> tar: status=0 flags=1 statbuf.st_ino=861 statbuf.st_mode=33188 > >>> tar: status=0 flags=1 statbuf.st_ino=857 statbuf.st_mode=33188 > >>> > >>> # busybox_dyn tar -cf toto.tar tst > >>> > >>> tar: status=0 flags=1 statbuf.st_ino=0 statbuf.st_mode=838 > >>> tar: tst: unknown file type > >>> tar: error exit delayed from previous errors > >> > >> Apparently there is a mismatch between the expected and the effective > >> layout of "struct > >> stat". Are you sure that when compiling busybox, the same (or a > >> compatible) definition of > >> "struct stat" was used as in the target library? You could also print > >> "sizeof statbuf.st_ino" > >> and "offsetof(struct stat, st_mode)" or a dump of the bytes in "statbuf".. > >> Or you could try if > >> changing the option CONFIG_LFS makes any difference. > >> Another approach: You wrote that the dynamic busybox works on your > >> aboriginal system image; > >> you could copy the shared object from there to your target. > > ________________________________________ > > manroland web systems GmbH -- Managing Director: Eckhard Hoerner-Marass > > Registered Office: Augsburg -- Trade Register: AG Augsburg -- HRB-No. 26816 > > -- VAT: DE281389840 > > > > Confidentiality note: > > This eMail and any files transmitted with it are confidential and intended > > solely for the use of the individual or entity to whom they are addressed.. > > If you are not the intended recipient, you are hereby notified that any use > > or dissemination of this communication is strictly prohibited. If you have > > received this eMail in error, then please delete this eMail. > > > > ! Please consider your environmental responsibility before printing this > > eMail > > ________________________________________ > > _______________________________________________ > > busybox mailing list > > [email protected] > > http://lists.busybox.net/mailman/listinfo/busybox > > _______________________________________________ > > busybox mailing list > > [email protected] > > http://lists.busybox.net/mailman/listinfo/busybox > > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
