ToolchainRoadmap

Differences between revisions 12 and 19 (spanning 7 versions)
Revision 12 as of 2005-04-25 08:09:39
Size: 3356
Editor: intern146
Comment: complete BOF notes
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 13: Line 13:
  * Status: BrainDump, BreezyGoal, UduBof, DistroSpecification[[BR]]   * Status: BreezyGoal, DistroSpecification, EditedSpecification[[BR]]
Line 16: Line 16:
  * UduSessions: 1, 4, 8, etc [[BR]]   * UduSessions: 1(0) [[BR]]
Line 24: Line 24:
 * Much improved Java support.
 * Better error reporting from C and C++ frontend
 * Much improved Java support
 * Better error reporting from C and C++ front-end
Line 28: Line 28:
 * Better optimisations from C compiler  * Better optimizations from C compiler
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 53: Line 56:
   - 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.
   * 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.
Line 56: 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 58: 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 62: Line 73:
Line 63: Line 75:
Line 67: Line 80:
glibc update can cause older applications to fail to run. Failures are usually linker-time failures, so low risk of runtime dataloss. glibc update can cause older applications to fail to run. Failures are usually linker-time failures, so low risk of runtime data loss.
Line 75: Line 88:
 * Renaming of library packages (about 100 in main, 300 in universe)

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)