This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: thumb2 support
>>>>> 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 <nickc@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