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

I can compile binutils-2.23.51.0.1 on the Beaglebone, but not
2.23.51.0.2 or 2.23.51.0.3.  I can compile the 3.6 kernel with thumb2
support with 2.23.51.0.1.

Thanks,
Grant

Reply via email to