ToolchainRoadmap

Differences between revisions 12 and 13
Revision 12 as of 2005-04-25 08:09:39
Size: 3356
Editor: intern146
Comment: complete BOF notes
Revision 13 as of 2005-04-26 02:23:27
Size: 3356
Editor: intern146
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
  * Status: BrainDump, BreezyGoal, UduBof, DistroSpecification[[BR]]   * Status: BreezyGoal, UduBof, DistroSpecification, DraftSpec[[BR]]

Toolchain Roadmap

Status

Introduction

Review toolchain status and strategy for Breezy

Rationale

  • Much improved Java support.
  • Better error reporting from C and C++ frontend
  • LSB 3.0 support
  • Fortran 90 support
  • Better optimisations from C compiler
  • Faster compilation at -O0
  • Better standards compliance

Scope and Use Cases

  • gcc-4.0
  • g++-4.0 and associated ABI transition
  • glibc 2.3.5

Implementation Plan

Already done:

  • Change "gcc" default to 4.0
  • Change "g77" default to 3.4
  • change "cpp" default to 4.0
  • Upload glibc-2.3.5
  • Change powerpc, ia64 to nptl-only

TODO:

  • Details at http://www.ubuntulinux.org/wiki/BreezyToolchainTransition

  • Upload g++-3.4, building g++ on amd64, defaulting to the new C++ ABI (1002).
  • Change "g++" default to 4.0
    • - Upload library packages, depending on libstdc++, rename library packages to deal with ABI break, as described on the Transition page. - Upload all other packages depending on libstdc++, just recompiling, and/or applying oustanding bug reports including patches.
  • Change "gcj", "gij" default to 4.0
  • Enable ppc64 glibc (ready to upload)
  • Change sparc to nptl-only
  • Add to Breezy release notes intention to drop linuxthreads for remaining arch's.
  • Drop gcc-2.95 (also means dropping chill)
  • Look at tweaking gcc wrapper to look for archaic gcc build options (-O6, etc.)
  • Binutils update (Sparc64 TLS support)
  • Final massive rebuild to make sure that everything is builds correctly.
  • Transition for non-release architectures (libgcc on hppa).

Data Preservation and Migration

glibc update can cause older applications to fail to run. Failures are usually linker-time failures, so low risk of runtime dataloss.

Packages Affected

All packages to some degree:

  • Poorly written C applications that don't work with stricter parser
  • Poorly written C++ applications that don't work with stricter parser

User Interface Requirements

N/A

Outstanding Issues

Coordinating with Debian - confirm that they will follow the same library rename plan. Proposal sent to debian-release, http://lists.debian.org/debian-release/2005/04/msg00153.html

UDU BOF Agenda

  • Status update (some work will be done prior to UDU)
  • C++ ABI transition plan (if transitions are still pending)
  • libssp and GCC 4.0 ?

UDU Pre-Work

ToolchainRoadmap (last edited 2008-08-06 16:34:44 by localhost)