Summary

Delivering an initial Linaro GCC 4.4 based release with the CodeSourcery SourceryG++ patchset and good enough to be included in Ubuntu.

Release Note

The Linaro Toolchain Working Group releases its first Linaro GCC 4.4 release.

It is based on GCC 4.4.4 and features:

  • the CodeSourcery SourceryG++ patch-set (4.4 2010q1 version)

  • a selection of patches from Ubuntu gcc-4.4
  • miscellaneous bug fixes and small features

It is to provide the basis for future Linaro GCC 4.4 development work.

Rationale

It takes too long for upstream toolchain to be usable for products. Maintaining a Linaro GCC with ARM specific backports and new features while an upstream release containing them makes its way to the world will allow using it earlier. The CodeSourcery toolchain is a good base to start this work from since it contains backports and new features, especially ARM ones, and releases more frequently than GCC.

Assumptions

This initial compiler will only support x86, x86-64, and ARM architectures, but not other architectures such as PowerPC, IA64, SPARC etc.

Design

The compiler will be based on GCC 4.4.4 and include the CodeSourcery SourceryG++ patchset (4.4 2010q1 version).

The Toolchain WG will release Linaro GCC tarballs monthly.

Testing will be conducted both before release using the toolchain testsuites and after the release using Ubuntu maverick (10.10) repositories as a test code base.

To allow Ubuntu testing, any Ubuntu gcc-4.4 patches that conflict with Linaro patches will be adjusted to compensate.

Ubuntu maverick gcc-4.4 patches should be reviewed, and the ones which are useful fixes or features should be merge in Linaro GCC. This is not strictly blocking an initial release, but the patches are already tested at the current patch level and currently apply cleanly; merging them later would cause more conflicts and result in more work.

This initial release must be completed before any other compiler work can be allowed to destabilize the source.

Implementation

Development will be done in Bzr starting from vcs-import branches populated by Launchpad.

CodeSourcery SourceryG++ is currently based on GCC 4.4.1; GCC 4.4.1 -> 4.4.4 needs to be merged in CodeSourcery SourceryG++ first.

For the 4.4 branch, we will start from the 4.4.4 tag and commit the FSF -> CodeSourcery diff as a single large commit. Additional updates will be delivered as individual changesets.

Changes to the Ubuntu GCC patches that have conflicts will be sent to the Ubuntu maintainer, Matthias Klose.

Regressions and bugs will be tracked against the gcc-linaro project when they affect Linaro GCC and against Ubuntu gcc-4.4 when they affect packaging.

All patches will be peer reviewed, and tested by running the GCC testsuites before applying them to the sourcebase.


CategorySpec

WorkingGroups/ToolChain/Specs/Initial_4_4_Toolchain (last modified 2010-07-07 13:47:58)