[PATCH ARM/THUMB1] unified syntax MOV with both low register emitting unpredictable code
Thomas Klein
th.r.klein@web.de
Thu Nov 17 19:56:00 GMT 2011
On 11/17/11 09:57, Richard Earnshaw wrote:
> On 15/11/11 23:11, Thomas Klein wrote:
>> On 11/15/11 15:13, Matthew Gretton-Dann wrote:
>>> On 14/11/11 20:21, Thomas Klein wrote:
>>>> + if (low_regs&& !ARM_CPU_HAS_FEATURE (selected_cpu,
>>>> arm_ext_v6t2))
>>> This test is incorrect - you want to check for arm_ext_v6, as all v6
>>> variants whether Thumb-1 or Thumb-2 allow low registers in this
>>> instruction.
>>>
>>>> + {
>>> Some regression tests would be good here.
>> Correction and tests attached.
>> Is this OK.
>>
> This is incorrect. There is no pre-v6 Thumb1 'MOV lo, lo' instruction
> in unified syntax and the assembler should fault it; it shouldn't try to
> use a flag setting insn.
Modifications attached.
Is this correct the way.
For example if we try to assemble v4t of newlib/libc/sys/arm/crt0.S
we will get errors for all 'MOV lo, lo' instructions.
So this must be corrected, too.
Regards
Thomas
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff.out
URL: <https://sourceware.org/pipermail/binutils/attachments/20111117/179a283d/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ChangeLog
URL: <https://sourceware.org/pipermail/binutils/attachments/20111117/179a283d/attachment-0001.ksh>
More information about the Binutils
mailing list