-----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