Provide ARM cross-compiler packages for Ubuntu Natty

Registered by Steve Langasek

Continuing the work of <https://blueprints.launchpad.net/ubuntu/+spec/arm-m-cross-compilers>.

 - review whether the current packages are meeting the needs of the target audience
 - identify any other high-demand targets that should be supported in the Ubuntu archive (linux-arm-none?)
 - integrate with multiarch for natty

Blueprint information

Status:
Not started
Approver:
Steve Langasek
Priority:
High
Drafter:
Marcin Juszkiewicz
Direction:
Needs approval
Assignee:
None
Definition:
Review
Series goal:
Accepted for natty
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-11.04-beta-1

Whiteboard

[vorlon] Please update the spec wiki page to incorporate the conclusions of the UDS session into the implementation - currently these are all listed at the bottom in the 'discussion' section, the spec should make it clear which parts of this discussion we're implementing.

[hrw] Please do not remove work items without discussing it with me.

Status:
PPA backport is populated and announced.

Work items:
create new PPA for Lucid and Maverick backports: DONE
drop current hrw:armel-cross-toolchain PPA: DONE
prepare patches for gcc-4.5 to produce only gcc-4.5-source: DONE
prepare patches for eglibc to produce only eglibc-source: DONE
prepare patches for binutils to produce only binutils-source: DONE
prepare patches for linux to produce only linux-source: DONE
backport Natty cross toolchain to Maverick: DONE
backport Natty cross toolchain to Lucid: DONE
populate PPA with cross compiler packages for Lucid: DONE
populate PPA with cross compiler packages for Maverick: DONE
create script to build tarballs with cross compiler: DONE
investigate toolchains with sysroot enabled: DONE
investigate --no-poison-system-directories and enable it: POSTPONED
fix stages support in gcc-4.5 to honor architecture optimizations: DONE
investigate multilibs feature in gcc-4.5: POSTPONED
change gcc-4.5 packaging to build softfp/hard vfp/neon multilibs: POSTPONED
merge flavours support: POSTPONED
investigate arm-linux-none gcc-4.5 build: POSTPONED

Work status:
- investigate multilibs feature in gcc-4.5:
  --with-multilib-list option is valid only for SH in upstream gcc
- all components has been patched to produce NAME-VER-source packages for backports (not merged)
- Lucid and Maverick backport built and announced: https://launchpad.net/~linaro-maintainers/+archive/toolchain
- makefile for binary tarballs: https://code.launchpad.net/~hrw/+junk/cross-build (improved version of Micheal Hope makefile from https://code.launchpad.net/~michaelh1/+junk/cross-build repo)
- sysroot toolchains are built using mentioned makefile
- dropped "build other single arch cross toolchain to check packaging" as there is no such one. ia64 requires libunwind and there is no other single arch architecture in Ubuntu or Debian.
- dropped patching eglibc and linux to honor PF variable - sysrooted toolchains are built using Makefile.
- --no-poison-system-directories option requires patched binutils - need to get patch for it

Rules:

1. Natty will be main place of work.
2. Packages for Lucid/Maverick will be provided in PPA and built from Natty versions patched to produce *-source packages only (cross packages will revert patches to get all packages cross built).
3. All toolchain components needs to honor PF variable so /opt/linaro/ builds will be possible to use.
4. Sysroot support will be used for non standard locations of cross compiler. Such ones will be provided only as tarballs.

Notes:

debian/flavour support may not get merged into Natty - have to discuss it with Michael, Steve, Matthias first. If stays then need to add -mcpu support so Cortex-A9 can be enabled by default.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.