>>>> Hello, I'm working with the BeagleBone and gcc-4.5.4 on Gentoo. If I >>>> try to compile the 3.6 kernel with CONFIG_THUMB2_KERNEL, I get: >>>> >>>> arch/arm/boot/compressed/head.S:127: Error: selected processor does >>>> not support requested special purpose register -- `mrs r2,cpsr' >>>> arch/arm/boot/compressed/head.S:134: Error: selected processor does >>>> not support requested special purpose register -- `mrs r2,cpsr' >>>> arch/arm/boot/compressed/head.S:136: Error: selected processor does >>>> not support requested special purpose register -- `msr cpsr_c,r2' >>>> >>>> This post indicates that mainline gcc does not currently support thumb2: >>>> >>>> https://groups.google.com/d/msg/beagleboard/P52fgMDzp8A/vupzuh71vdYJ >>>> >>>> However, this indicates that thumb2 has been supported since 4.3: >>>> >>>> http://gcc.gnu.org/gcc-4.3/changes.html >>>> >>>> Can anyone clear this up? >>> >>> The errors are coming from an assembler file that is not part of the >>> GCC sources. Are those instructions valid for Thumb2? I don't know. >>> If they are valid, then the issue is with the assembler, which is not >>> part of GCC; check the version of the GNU binutils that you have >>> installed. If those instructions are not valid, then you need to >>> change your source. >> >> Thanks Ian. I'm using binutils-2.22-r1. Do you happen to know which >> version of binutils should support thumb2? > > Hi Grant. I'm pretty sure this was fixed by: > > commit c0d796cf810a84f10703c0390f7b1c5887b837c9 > Author: Nick Clifton <ni...@redhat.com> > Date: Wed Jun 13 14:18:59 2012 +0000 > > PR gas/12698 > * config/tc-arm.c (do_t_mrs): Do not require an m-profile > architecure when assembling for all archiectures. > (do_t_msr): Likewise. > > which will be in the upcoming binutils 2.23. Debian/Ubuntu carry this > as a patch on top of their 2.22. > > -- Michael
Thanks a lot Michael. I'm having trouble compiling 2.23 on Gentoo but I'm working on it. - Grant