>>>> 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

Reply via email to