[uClibc]uClibc/mipsel
Geoffrey Espin
espin at idiom.com
Fri Feb 15 03:30:22 UTC 2002
I'm foolishly trying to get uClibc working on for mipsel.
I'm using kernel 2.4.17 (+ sf.net mips-linux).
Using the latest CVS and simply dumping
uClibc/libc/sysdeps/linux/mipsel
for
uClibc/libc/sysdeps/linux/mips
Copying setjmp_aux.c for glibc2.2.5 (other files seem to match
this near enough), and stealing generic/vfork.c gets me so I can
build busybox(with vi & ash) with the resulting
/usr/mips-linux-uclibc/usr/bin/mips-uclibc-gcc.
I actually did a "make -i" in the uClibc/test suite directory
and found a good number of tests passed or seemed close enough.
Unfortunately, signal() causes a "Segmentation fault". I tracked
it to libc/signal/sigaction.c:libc_sigaction().
If I pad:
int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct kernel_sigaction kact, koact;
int bogusPad[18];
if (act) {
...
Then it passes. Heck, I can even use vi & ash in busybox!
So can anyone spare me a clue?
The bogusPad gets filled with either 0's or ff's, if that helps.
Separately: when I run the 'malloc' test, I get:
Out of Memory: Killed process 488 (malloc).
Terminated
This looks like VM OOM killer... is that what should happen, or is
the test program obsolete?
I did fix one little glitch in uClibc/Makefile for rule install_dev:
...
-chown -R `id | sed 's/^uid=\([0-9]*\).*gid=\([0-9]*\).*$$/\1.\2/'` $(PREFIX)$(DEVEL_PREFIX)
The double $$ is needed cuz make eats $'s.
TIA,
Geoff
--
Geoffrey Espin
espin at idiom.com
More information about the uClibc
mailing list