symbol clashes in libpthread.a and libc.a

Cheung Yik Pang yp.cheung at pithk.com
Wed Feb 8 04:45:29 UTC 2006


Hi list,

    Here is some updates.  I checked out the uClibc svn head this morning.
 The linking problem was gone.  Thanks for fixing that.

    Yet it reminds me that why I was still using the snapshot from
20060121.  Because I tried a couple of snapshots back from 23th and
24th Jan and they wouldn't build. They both failed for the sendfile64
issue.

    Although today's built was successful, I still had to disable LFS
support.  Otherwise, the building process failed with:

  CC libc/sysdeps/linux/common/sendfile.o
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:19: error: conflicting types for
'sendfile64'
./include/sys/sendfile.h:47: error: previous declaration of 'sendfile64'
was here
make: *** [libc/sysdeps/linux/common/sendfile.o] Error 1

    Another problem is that all programs, including helloworld, get
segfaults when they exit:

hello wo[122] helloworld: arm syscall 10420360
rld!
Code: GPF: pid(122, <helloworld>) (SVC pc=900a7700 r0=00000006 r3=fffffffc
sp=90
7b7ef4 lr=900aebbc)
0ffffffc ef9f0088 (ea017ffe) e59ff410 ea0000bb
pc : [<00000004>]    lr : [<91dd30ac>]    Not tainted
sp : 91ddfedc  ip : 91ddfeb0  fp : 91ddfeec
r10: 91dd4124  r9 : 00000000  r8 : 91dd0180
r7 : 00000001  r6 : 91dd6774  r5 : 91dd40e4  r4 : 00000000
r3 : 00000001  r2 : 00000000  r1 : 91dd5771  r0 : 00000000
Flags: nzCv  IRQs on  FIQs on  Mode USER_32  Segment user
Control: 1007
Function entered at [<91dd304c>] from [<91dd1748>]
 r4 = 91DDFF18
Function entered at [<91dd1680>] from [<00000000>]
Illegal instruction

     Any ideas?? Thank you.

-Cheung

> Hi list,
>
>      I have just updated my toolchain from gcc 3.4.3, uclibc 0.9.26 to gcc
> 3.4.5, uclibc snapshot 20060121 under an armnommu platform.  The
> binutils version is 2.15.90.0.1.1.  The reason that I updated was
> that I needed to use vfork and pthread at the same time in my
> application.  And uClibc 0.9.26 failed with "undefined reference to
> `__libc_vfork'".
>
>      I wrote a small program test.c (attached) to see if the new toolchain
> could handle the linking properly.
>
>      The result was a whole lot of symbol clashes with libpthread.a and
> libc.a.  Please see the attachment.
>
>      I have also built a toolchain with gcc 3.4.5 and uclibc 0.9.26.  It
> gave the same "undefined reference" error as the gcc 3.4.3 toolchain.
>  So I think the problem is in uclibc.
>
>      The .config file of my uClibc settings is attached and my gcc config
> is:
>
> arm-elf-gcc -v
> Reading specs from
> /root/pang/pmp_8620l/armutils_2.5.91.0/custom_toolchain.uclibc-cvs.nolocale/arm-uclinux-tools/lib/gcc/arm-uclinux-elf/3.4.5/specs
> Configured with:
> /root/pang/pmp_8620l/armutils_2.5.91.0/custom_toolchain.uclibc-cvs.nolocale/gcc-3.4.5/configure
> --target=arm-uclinux-elf
> --prefix=/root/pang/pmp_8620l/armutils_2.5.91.0/custom_toolchain.uclibc-cvs.nolocale/arm-uclinux-tools
> --enable-languages=c,c++ --enable-multilib --enable-target-optspace
> --with-gnu-ld --disable-__cxa_atexit --enable-cstdio=stdio
> --disable-clocale --disable-nls --disable-checking --enable-threads=posix
> --disable-libstdcxx-pch --enable-cxx-flags=-D_ISOC99_SOURCE -D_BSD_SOURCE
> -D_LIBC -D_GNU_SOURCE --with-float=soft --disable-shared --enable-c99
> --enable-c-mbchar
> Thread model: posix
> gcc version 3.4.5
>
>      Could anyone shed some light on this problem please?? Thank you very
> much.
>
> -Cheung_______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://busybox.net/cgi-bin/mailman/listinfo/uclibc




More information about the uClibc mailing list