SVN head breaks a lot of apps, 0.9.30 works

rhabarber1848 rhabarber1848 at web.de
Thu Feb 19 20:14:09 UTC 2009


Hi,

first of all I must note that I am not a C/C++ expert, I am only trying to
hack something together in order to make things work;)

The Tuxbox project, a set of drivers and GUIs for a digital TV settop box
with powerpc cpu, can be used with uClibc 0.9.30 successfully. Currently I
am testing its compatability with uClibc SVN head and already solved two
problems, one yesterday by deactivating UCLIBC_HAS_LONG_DOUBLE_MATH, the
other problem is related to a gcc patch which enables uClibc locales in
libstdc++[1].

But there is another problem which breaks a lots of apps, luckely not
including Busybox. I tested a lot of SVN revisions in order to find the one
introducing the bug.

SVN rev 24361 is the latest working revision.
http://sources.busybox.net/index.py?view=rev&revision=24361

SVN rev 24362 does not compile,
http://sources.busybox.net/index.py?view=rev&revision=24362
it shows this error:
>   LD libpthread-0.9.30-svn.so
> libpthread/linuxthreads.old/libpthread_so.a(wrapsyscall.os): In function
`fcntl':
> (.text+0xb8): undefined reference to `__libc_fcntl'

SVN rev 24363 does not compile either
http://sources.busybox.net/index.py?view=rev&revision=24363
it shows this error:
>   STRIP -X --strip-debug -R .note -R .comment
libpthread/linuxthreads.old/libpthread_so.a
>   LD libpthread-0.9.30-svn.so
> libpthread/linuxthreads.old/libpthread_so.a(wrapsyscall.os): In function
`close':
> (.text+0x24): undefined reference to `__libc_close'
> libpthread/linuxthreads.old/libpthread_so.a(wrapsyscall.os): In function
`fcntl':
> (.text+0xb8): undefined reference to `__libc_fcntl'
and about 20 similar errors more...

The next SVN rev 24366 (no other patches included, the uClibc_locale.h
problem which breaks libstdc++ compilation was introduced in SVN rev 24565)
is the first compiling version of uClibc which breaks most Tuxbox apps,
details about the breakage will follow later.

Because I can not test revs 24362 + 24363 I am handling 24362, 24363 and
24366 as a complete package and did the following:
extracted uClibc 0.9.30 tarball, patched to SVN rev 25370, then commits from
SVN revs 24362, 24363 and 24366 are removed and the uClibc locale patch[1]
is applied. Using this uClibc code I was able to create a working Tuxbox
environment again, so one of the patches from SVN revs 24362, 24363 or
24366 is responsible for the problem. I am not able to identify which part
of these commits might be responsible for the problem. I included that
patch as uclibc_svn3.diff.bz2.

I am not sure how many apps are affected of this problem, I tested it using
a small app which uses threads and segfaults when started, other system
critial daemons are affected as well, breaking the Tuxbox software package
completely.

Attached to this mail you will find two strace logs of the small daemon
mentioned above, one done with uClibc 0.9.30 (strace_working.log.bz2, the
daemon is waiting for input at the end of the log), the other done with
broken uClibc SVN rev 24434 - other SVN revs show the same behaviour -
(strace_segfault.log.bz2). The source code of the app in question can be
found here:
http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/apps/tuxbox/tools/kb2rcd/

Some details about the software in use, all cross-compiled to ppc:

- GNU binutils 2.17.50.0.9
- gcc 3.4.6
- Linux kernel 2.4.37

Host system is Debian Lenny i686.

If you need more informations please ask, but keep the questions
understandable for a non-C/C++ expert;)

Cheers, rhabarber1848

[1] Solved by using this patch:
http://lists.uclibc.org/pipermail/uclibc/2009-February/041918.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: uclibc_svn3.diff.bz2
Type: application/x-bzip2
Size: 7340 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20090219/5eaac685/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace_segfault.log.bz2
Type: application/x-bzip2
Size: 1764 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20090219/5eaac685/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace_working.log.bz2
Type: application/x-bzip2
Size: 1622 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20090219/5eaac685/attachment-0002.bin>


More information about the uClibc mailing list