[Bug c/43999] Gcc (lib1funcs.asm) doesn't build on ARM/Thumb2
--- Comment #2 from ramana at gcc dot gnu dot org 2010-05-11 09:28 --- How did you configure your tools in ? Have you considered using the --with-cpu and --with-mode options while building your tools i.e. --with-cpu=cortex-m3 --with-mode=thumb. Ramana -- ramana at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999
[Bug c/43999] Gcc (lib1funcs.asm) doesn't build on ARM/Thumb2
--- Comment #3 from jingyu at google dot com 2010-05-11 17:56 --- I configure gcc with --with-arch=armv5te. The default multilib will be compiled in ARM mode. The error happens when I build the armv7-a/thumb multilib. I checked the config.log for armv7-a/thumb/libgcc, libgcc was indeed configured with -march=armv7-a -mthumb. So the code will be generated in thumb2 mode. In gcc/config/arm/lib1funcs.asm, do_it hs, t means itt hs. The condition of the IT block must match the condition of the instructions inside. hs here looks like a typo. I change hs into ne, then lib1funcs.asm is compiled. This IT block is rephrased into 5e: 2800cmp r0, #0 60: bf1citt ne 62: ea5f 1313 movsne.wr3, r3, lsr #4 66: 0909lsrne r1, r1, #4 Am I correct? Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999
[Bug c/43999] Gcc (lib1funcs.asm) doesn't build on ARM/Thumb2
--- Comment #1 from jingyu at google dot com 2010-05-10 23:52 --- I see the same error when compiling thumb2 libgcc. Host=Build=x86_64-unknown-linux-gnu, Target=arm-unknown-eabi The error message points to following lines in gcc/config/arm/lib1funcs.asm. cmp \dividend, #0 @ Early termination? do_it hs, t movnes \curbit, \curbit, lsr #4 @ No, any more bits to do? movne \divisor, \divisor, lsr #4 bne 1b The condition in do_it hs,t seems to be wrong. This do_it line was committed by Kazu Hirata in Aug 2009. http://gcc.gnu.org/ml/gcc-patches/2009-08/msg00365.html I am using binutils-2.20.1. Thanks. -- jingyu at google dot com changed: What|Removed |Added CC||kazu at codesourcery dot ||com, jingyu at google dot ||com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999