ToolchainRoadmap

Differences between revisions 18 and 19
Revision 18 as of 2005-04-27 01:48:25
Size: 3506
Editor: intern146
Comment:
Revision 19 as of 2005-04-28 03:07:06
Size: 3600
Editor: intern146
Comment: Break down tasks into May / post-May tasks
Deletions are marked like this. Additions are marked like this.
Line 40: Line 40:
 * Details at http://www.ubuntulinux.org/wiki/BreezyToolchainTransition
Line 48: Line 50:
TODO:
 * Details at http://www.ubuntulinux.org/wiki/BreezyToolchainTransition
May TODO:

 * Enable ppc64 glibc (ready to upload)
Line 56: Line 59:
Line 57: Line 61:
 * Enable ppc64 glibc (ready to upload)
 * Add to Breezy release notes intention to drop linuxthreads for remaining arch's.

 * Drop gcc-2.95 (also means dropping chill)

Post-May TODO:
Line 59: Line 69:
 * 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.)

 * Look at tweaking gcc wrapper to look for archaic gcc build options (-O6, etc. Possibly do this when HPPA does the Debian import?)
Line 63: Line 73:
Line 64: Line 75:

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

May TODO:

  • Enable ppc64 glibc (ready to upload)
  • 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
  • Add to Breezy release notes intention to drop linuxthreads for remaining arch's.
  • Drop gcc-2.95 (also means dropping chill)

Post-May TODO:

  • Change sparc to nptl-only
  • Look at tweaking gcc wrapper to look for archaic gcc build options (-O6, etc. Possibly do this when HPPA does the Debian import?)
  • 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)