-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

For a few weeks now I've been trying to build a blackfin toolchain using uclibc 
for OE[1]
and continue to fail. I even tried using the forks at blackfin.uclinux.org to 
no avail. I
finally settled on using gcc 4.2.1.

The problems:

* uclibc svn insist on passing the fdpic option to gcc, which no gcc4 I can 
locate
(upstream, fork, patches, etc) knowns about. (ffmpeg does the same, but lets 
not start
about that piece of crack)
* the uclibc fork insists on -mleaf-shared-bla, which requires a patched gcc
* uclibc svn allows you to select 'wordexp' in a uclinux config, which is 
riddled with fork().

After applying attached patch to fix select.c and figuring out what the right 
combination
of config options is the final link command fails at:

  AR cr lib/libc.a
  LD lib/libc
bfin-angstrom-uclinux-uclibc-ld: warning: cannot find entry symbol lf2flt; 
defaulting to
0000000c
lib/libc.a(malloc.o): In function `malloc_from_heap':
libc/stdlib/malloc/malloc.c:(.text+0x54): undefined reference to `__GI_mmap'
make: *** [lib/libc.gdb] Error 1

The uclibc fork fails at:

 STRIP -x -R .note -R .comment lib/libc.a
  AR cr lib/libc.a
  LD lib/libc
bfin-angstrom-uclinux-uclibc-ld: 1: No such file: No such file or directory
make: *** [lib/libc.gdb] Error 1

Does anybody have any pointers where I can find sources, patches or configs to 
get a
uclibc build to complete? The people I asked all said something like 
"everything is
&*#$&*#-ing broken, use the ABI binary toolchain". At this point I don't care 
about how
slow it will be (no fdpic or -mleaf-shared-thingy, etc), I just want something 
that
*compiles*.

regards,

Koen




[1] See http://www.openembedded.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFGuySSMkyGM64RGpERAqrAAJ9Drlcr/zxLCwc3NDS6T4lXCr89lwCdFtjv
maY4l3OV1d5b2t8eCBcJspE=
=YN4f
-----END PGP SIGNATURE-----
--- uclibc-0.9.29+svnr19386-r5/uClibc/libc/sysdeps/linux/common/select.c        
2007-08-05 08:16:01.000000000 +0200
+++ uClibc/libc/sysdeps/linux/common/select.c   2007-08-05 08:51:39.000000000 
+0200
@@ -12,6 +12,33 @@
 
 extern __typeof(select) __libc_select;
 
+#ifdef __NR_pselect6
+
+# define __NR___libc_pselect6 __NR_pselect6
+_syscall6(int, __libc_pselect6, int, n, fd_set *, readfds, fd_set *, writefds,
+               fd_set *, exceptfds, const struct timespec *, timeout, 
+               const sigset_t *, sigmask);
+
+int __libc_select (int n, fd_set *readfds, fd_set *writefds, fd_set 
*exceptfds, 
+               struct timeval *timeout)
+{
+       int result;
+       struct timespec ts;
+
+       if(timeout) {
+               ts.tv_sec = timeout->tv_sec;
+               ts.tv_nsec = timeout->tv_usec*1000;
+               result = __libc_pselect6(n, readfds, writefds, exceptfds, &ts, 
0);
+       }
+       else {
+               result = __libc_pselect6(n, readfds, writefds, exceptfds, 0, 0);
+       }
+       
+
+       return result;
+}
+
+#else
 #ifdef __NR__newselect
 # define __NR___libc_select __NR__newselect
 #else
@@ -19,6 +46,7 @@
 #endif
 _syscall5(int, __libc_select, int, n, fd_set *, readfds, fd_set *, writefds,
                  fd_set *, exceptfds, struct timeval *, timeout);
+#endif
 libc_hidden_proto(select)
 weak_alias(__libc_select,select)
 libc_hidden_weak(select)
_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc

Reply via email to