This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [RFC ARM] Fix PR12198 SVC in thumb assembler forces M-profile attribute
- From: Tristan Gingold <gingold at adacore dot com>
- To: Matthew Gretton-Dann <matthew dot gretton-dann at arm dot com>
- Cc: Binutils <binutils at sourceware dot org>, Richard Earnshaw <Richard dot Earnshaw at buzzard dot freeserve dot co dot uk>
- Date: Mon, 15 Nov 2010 13:50:04 +0100
- Subject: Re: [RFC ARM] Fix PR12198 SVC in thumb assembler forces M-profile attribute
- References: <1289583277.14311.204.camel@e102319-lin.cambridge.arm.com> <4CDE7555.3080408@buzzard.freeserve.co.uk>
On Nov 13, 2010, at 12:24 PM, Richard Earnshaw wrote:
> On 12/11/10 17:34, Matthew Gretton-Dann wrote:
>> All,
>>
>> Re: http://sourceware.org/bugzilla/show_bug.cgi?id=12198
>>
>> Please can the attached patch be reviewed and approved, both for trunk
>> and the 2.21 branch?
>>
>
> This is OK for trunk, and I would recommend Tristan also approves it for
> the release branch.
Ok for the branch.
Tristan.
>
> R.
>
>> This fixes an issue I introduced with the addition of the Operating
>> System Extension support for ARM to binutils
>> (http://sourceware.org/ml/binutils/2010-09/msg00413.html) whereby an
>> object would get marked as being architecture v6S-M if an SVC
>> instruction was used in Thumb mode and no CPU had been specified on the
>> command line.
>>
>> The fix makes sure the OS extension is only noted if other v6-M features
>> have been used (which aren't also available in plain v6).
>>
>> This is a point fix for this particular issue, which I believe is safe
>> for the branch and trunk. I have come across other corner cases in my
>> experiments for this fix, which exist in 2.19 as well as current trunk,
>> but this patch does not address these, as the changes needed are large
>> scale and invasive.
>>
>> Proposed ChangeLogs:
>>
>> gas/ChangeLog:
>>
>> 2010-11-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>>
>> PR gas/12198
>> * config/tc-arm.c (arm_arch_v6m_only): New variable.
>> (aeabi_set_public_attributes): Ensure we only set the Operating
>> System Extension when we are on an M-profile core.
>>
>>
>> gas/testsuite/ChangeLog:
>>
>> 2010-11-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>>
>> PR gas/12198
>> * gas/arm/pr12198-1.d: New test.
>> * gas/arm/pr12198-1.s: Likewise.
>> * gas/arm/pr12198-2.d: Likewise.
>> * gas/arm/pr12198-2.s: Likewise.
>>
>> include/opcode/ChangeLog:
>>
>> 2010-11-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
>>
>> PR gas/12198
>> * arm.h (ARM_AEXT_V6M_ONLY): New define.
>> (ARM_AEXT_V6M): Rewrite in terms of ARM_AEXT_V6M_ONLY.
>> (ARM_ARCH_V6M_ONLY): New define.
>>
>> Thanks,
>>
>> Matt
>>
>
>
>