hi All,
Recently I've been trying to use uClibc for quite old arm920t-based
board. Some busybox applications (like shell, mount, hostname, wget)
would get killed with SIGILL. I managed to debug it down to leaving
memcpy() routine, namely to the following code from
libc/string/arm/memcpy.S:

[..]
.thumb_func
memcpy:
        push    {r0, lr}
        bl      _memcpy
        POP_RET
[..]

POP_RET defined as pop {r2, pc} in [1]. On armv4t is just won't switch
CPU back to arm mode, so in my case it seems to be jumping to calling
arm routine while still being in thumb mode.

I'm not sure if this is the case, but I've also found couple of comments
in code:
http://git.uclibc.org/uClibc/tree/ldso/ldso/arm/resolve.S#n62
http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/crtn.S#n10

stating that some parts aren't even supposed to work on armv4t.
Has armv4t been deprecated for good (I use master branch currently)?
Thanks.

[1]
http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/bits/arm_asm.h#n15

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to