ToolchainRoadmap

Differences between revisions 16 and 17
Revision 16 as of 2005-04-26 11:43:39
Size: 3522
Editor: intern146
Comment: EditedSpecification
Revision 17 as of 2005-04-27 01:33:45
Size: 3514
Editor: intern146
Comment: Make it clear that no more sessions are required for this.
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
  * UduSessions: 1, 4, 8, etc [[BR]]   * UduSessions: 1(0) [[BR]]

Toolchain Roadmap

Status

Introduction

Review toolchain status and strategy for Breezy

Rationale

  • Much improved Java support
  • Better error reporting from C and C++ front-end
  • LSB 3.0 support
  • Fortran 90 support
  • Better optimizations 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.
    • For KDE, only rename libqt, as all other KDE packages depend on this library.
    • Upload all other packages depending on libstdc++, just recompiling, and/or applying outstanding 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 data loss.

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
  • Renaming of library packages (about 100 in main, 300 in universe)

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)