This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [WWWDocs] Deprecate support for non-thumb ARM devices
- From: Joel Sherrill <joel dot sherrill at oarcorp dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>, Gerald Pfeifer <gerald at pfeifer dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, Nick Clifton <nickc at redhat dot com>
- Date: Mon, 29 Feb 2016 09:36:00 -0600
- Subject: Re: [WWWDocs] Deprecate support for non-thumb ARM devices
- Authentication-results: sourceware.org; auth=none
- References: <56CDB728 dot 1050300 at arm dot com> <alpine dot LSU dot 2 dot 20 dot 1602282213130 dot 6772 at anthias> <C1630A71-FF7A-43FD-876D-249A834C9EC4 at oarcorp dot com> <56D42D6E dot 8090108 at foss dot arm dot com>
On 2/29/2016 5:37 AM, Kyrill Tkachov wrote:
On 28/02/16 21:34, Joel Sherrill wrote:
On February 28, 2016 3:20:24 PM CST, Gerald Pfeifer <gerald@pfeifer.com> wrote:
On Wed, 24 Feb 2016, Richard Earnshaw (lists) wrote:
I propose to commit this patch later this week.
+ Support for revisions of the ARM architecture prior to ARMv4t
has
+ been deprecated and will be removed in a future GCC release.
+ This affects ARM6, ARM7 (but not ARM7TDMI), ARM8, StrongARM,
and
+ Faraday fa526 and fa626 devices, which do not have support for
+ the Thumb execution state.
I am wondering whether this may be confusing for those not
intricately familiar with the older history of ARM platforms.
ARMv8 is pretty new, googling for it has
http://www.arm.com/products/processors/armv8-architecture.php
as first hit, for example, and the only difference versus ARM8
is that little lower-case "v".
I assume this means a number of values for the various -mXXX arguments will be removed. Would it be more helpful to list those values?
I have to agree with Gerald. I think this will obsolete a few older RTEMS BSPs but based on that wording, I don't know which.
ARM8 is a processor, whereas ARMv8-A is an architecture.
I think Richard's link earlier in the thread:
https://community.arm.com/groups/processors/blog/2011/11/02/arm-fundamentals-introduction-to-understanding-arm-processors
gives a good explanation of the naming schemes.
The -mcpu/-mtune arguments that would be deprecated can be found by looking at the
file config/arm/arm-cores.def and finding all the ARM_CORE entries that have '4' or lower in their
4th field These would be:
That you referred to code to know the impact seems to confirm my concern that this is not something most users would realize.
arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,
arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,
strongarm1100,strongarm1110,fa526,fa626.
The arguments to -march that would be deprecated are:
armv2,armv2a,armv3,armv3m,armv4.
I personally think that list is a bit too long for changes.html.
It didn't seem that long and makes a nice checklist.
FWIW I am one of the original RTEMS developers, 25+ years of embedded work, gcc, etc. and I couldn't have have evaluated the impact of the original statement easily. Those with more knowledge ARM GCC specifics (like you) gave a precise detailed answer with what sounds like just a few minutes.
Do you think it would add more clarity for people who are not familiar with the situation?
Absolutely. That's an authoritative list. From that list, anyone can grep their build system to see which boards and configurations would be impacted.
And honestly, when I saw the initial statement, I was concerned about how many older ARM RTEMS BSPs would be obsoleted. But seeing the specific list, I don't think we have any that are impacted.
The extra information just makes it very precise and clear what's going away.
FWIW I am on a standards group and one of the things I repeatedly say is that if we leave room for someone to ask a question, then they have a chance to get an answer we didn't intend. So try to avoid letting someone with less knowledge ask the question. :)
--joel
Thanks,
Kyrill
Gerald
--joel