This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH ARM/THUMB1] unified syntax MOV with both low register emitting unpredictable code
On 17/11/11 20:52, Thomas Klein wrote:
> 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.
>
>
> ChangeLog
>
>
> 2011-11-17 Thomas Klein <th.r.klein@web.de>
>
> * config/tc-arm.c (do_t_mov_cmp): Prevent emitting code for MOV with
> two low register at arch v4t or v5t when assember using unified syntax.
OK.
R.