On 11 October 2012 17:58, Grant <emailgr...@gmail.com> wrote: >>> 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