On 4/16/15 12:43 AM, Bernhard Reutner-Fischer wrote: >>> >> Please send me your >>> >> grep "memcpy\.o[sS]* " log.do_compile >>> >> The file should be somewhere around your >>> >> tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile >> > >> > here it goes: http://pastebin.com/VGqf31ac > arm-poky-linux-uclibceabi-gcc -march=armv4t -marm -mthumb-interwork > -msoft-float -mlittle-endian -mthumb > > I see no notion of a tune? > > IIRC armv4t defaulted to arm7TDMI. Given that OE usually does not > configure for a default CPU (AFAICS) you have to pass a proper tune. > > My 920t build used: > arm-oe-linux-uclibceabi-gcc -march=armv4t -mthumb -mthumb-interwork > -O2 -mtune=arm920t > > in your local.conf, try: > FULL_OPTIMIZATION = "-O2 -mtune=arm920t" > ARM_INSTRUCTION_SET := "thumb" > > maybe you need some additional settings like DEFAULTTUNE TUNE_ARCH > TUNE_PKGARCH that you certainly use already. >
I tried -mtune=arm920t some time ago once, but it didn't help.
I changed return [from Thumb routine] code, and it did the trick, now
busybox and couple of utilities seems to be working (yet I didn't run
uclibc tests):
diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h
b/libc/sysdeps/linux/arm/bits/arm_asm.h
index 04664b3..78dc6f0 100644
--- a/libc/sysdeps/linux/arm/bits/arm_asm.h
+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h
@@ -13,12 +13,8 @@
unified assembly syntax. */
#define IT(t, cond)
/* Code to return from a thumb function stub. */
-#ifdef __ARM_ARCH_4T__
-#define POP_RET pop {r2, pc}
-#else
#define POP_RET pop {r2, r3}; bx r3
#endif
-#endif
#if defined(__ARM_ARCH_6M__)
/* Force arm mode to flush out errors on M profile cores. */
What do you think of such fix?
--
regards,
Sergey
signature.asc
Description: OpenPGP digital signature
_______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
