Summary

Lucid will drop support for older arm specification in favour of armv7 with thumb2 and softfp.

Release Notes

TBD

Rational

Ubuntu targetted devices for which the armv7 architecture is the lowest reasonable bound; hence taking advantage of the improved instruction set of such modern applications is essential as it will come with notable speed and size improvements.

Design

Starting the Lucid cycle the toolchain will get default options optimized for our new target architecture: ARMv7. From there on there will be a continous effort to track and fix regressions and build failures in user-space applications. Detailed information about the changed compiler flags together with initial porting instructions are documented on the ARM/Thumb2 wiki page.

Implementation

Notes/Comments

ARM presentation Slides

Make gcc default to ARMv7 and Thumb2 on the ARM architecture

Slide 1

Slide 2

Slide 3

* -mthumb

* superset of the compact thumb instruction set * ssupported in all armv7 implementations * performance similar to ARM

Slide 4

* Thumb-2 uses the new "Unified Assembly Language" syntax (extension of ARM syntax) * UAL generated automatically by GCC when building for Thumb-2 * Hand writted UAL can also be assembled direction to ARM or Thumb-2 code without modification

* enamine output of gcc -march=armv7-a -mthumb -S to see examples * GNU as (Karmic or newer) can also process legacy ARM assembler as if it were UAL

Slide 5

Slide 6

Slide 7

Slide 8

Processor-Specific Features in GCC

Mobile/ARMv7AndThumb (last edited 2009-12-02 15:49:49 by pool-96-226-234-93)