I will try later to put this in a proper diff. but I'm pretty busy.. -- -- --
Just to better explain my reasoning here: in thumb the "ne" in ldmnefd is going to be ignored, since Thumb arch ignores the conditional bits of all instructions. The Thumb-style assembly for this is simply to use the "ne" in an IT conditional, and apply that to all necessary following instructions. This way, BOTH the ARM and Thumb instruction sets will honor the "ne" condition on ldmfd. //Alex On Wed, Nov 9, 2011 at 8:12 AM, Carmelo AMOROSO <[email protected]> wrote: > On 09/11/2011 5.28, Alex Pilafian wrote: >> Hi All, >> >> I was trying to cross-compile uClibc for my embedded ARM project >> today, and I ran into an error here: >> >> libc/sysdeps/linux/arm/clone.S:115: Error: thumb conditional instruction >> should be in IT block -- `ldmnefd sp!,{r4}' >> >> I was able to get around this by changing the file clone.S such that >> the ldmnefd mnemonic is in the IT block (making it a THUMB-only >> instruction, too). >> >> @So, just change this: >> >> ldmnefd sp!, {r4} >> IT(t, ne) >> #if defined(__USE_BX__) >> bxne lr >> #else >> movne pc, lr >> #endif >> >> @Into this: >> >> IT(tt, ne) >> ldmnefd sp!, {r4} >> #if defined(__USE_BX__) >> bxne lr >> #else >> movne pc, lr >> #endif >> >> ...and the rest of uClibc will compile normally. Hopefully this saves >> someone some headache :) >> >> //Alex >> ______ > > Hi, > could you please provide a patch, git formatted, please ? > > thanks, > carmelo > > _________________________________________ >> uClibc mailing list >> [email protected] >> http://lists.busybox.net/mailman/listinfo/uclibc >> > > _______________________________________________ > uClibc mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/uclibc > _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
