>       Why are you using static binaries?  This is never a good idea
>       except in very special cases.
>
>Shared libraries do not work on my arch.

I guess that's a sufficiently special case. :-)

>When i try to run a dynamicly linked program i get an error for an
>invalid address. This address is somewhere around 0x28021f58 and occurs
>at 0x2000d948. This is in the function _dl_init_next (elf/dl-init.c) in
>the line with: struct link_map *l = searchlist->r_list[i];

There was a bug at one point which caused a duff pointer to be passed to 
_dl_init_next.  It sounds like you're running into this and using a later libc 
may help.  If you use a precompiled version, say from a NetWinder, do you get 
the same problem?

>Suggestions would be really welcome on this. The arch is a derative of
>the EBSA-285 arch with the kernel remapped to 0x60000000. I'm using
>glibc 2.0.105 (I couldn't get 109 to compile)

I've appended here a patch against 2.0.109 that should get it going.  What 
versions of gcc and binutils do you have?  The dynamic linking part of glibc 
is quite sensitive to this.

If the only difference between your architecture and EBSA-285 is that the 
kernel is in a different place then nothing in user space should really care 
(though you may be in danger of running out of headroom for shared libraries 
and other mmap'd things).  The same binaries run on NetWinder, CATS and 
EBSA already and your machine should be the same.

p.

diff -u --recursive --new-file clean/glibc-2.0.109/wcsmbs/wcstold.c 
glibc-2.0.109/wcsmbs/wcstold.c
--- clean/glibc-2.0.109/wcsmbs/wcstold.c        Thu Dec 31 12:45:23 1998
+++ glibc-2.0.109/wcsmbs/wcstold.c      Thu Dec 31 14:28:53 1998
@@ -45,6 +45,7 @@
 
 # include <stdlib/strtod.c>
 #else
+# include <wchar.h>
 /* There is no `long double' type, use the `double' implementations.  */
 long double
 __wcstold_internal (const wchar_t *nptr, wchar_t **endptr, int group)


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to