ToolchainRoadmap

Differences between revisions 10 and 12 (spanning 2 versions)
Revision 10 as of 2005-04-25 07:15:25
Size: 2551
Editor: intern146
Comment: Toolchain notes (part1 - temporary save)
Revision 12 as of 2005-04-25 08:09:39
Size: 3356
Editor: intern146
Comment: complete BOF notes
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
 * LSB 3.0 support
Line 28: Line 29:
 * Faster compilation  * Faster compilation at -O0
Line 48: Line 49:
 * Details at http://www.ubuntulinux.org/wiki/BreezyToolchainTransition

 * Upload g++-3.4, building g++ on amd64, defaulting to the new C++ ABI (1002).
Line 49: Line 53:
   - Rename library packages to deal with ABI break.
 * Change "gcj" default to 4.0
 * Enable ppc64 glibc
   - 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)
Line 57: Line 62:
 * Final massive rebuild to make sure that everything is builds correctly.
 * Transition for non-release architectures (libgcc on hppa).
Line 59: Line 66:

glibc update can cause older applications to fail to run. Failures are usually linker-time failures, so low risk of runtime dataloss.
Line 64: Line 73:
 o Poorly written C applications that don't work with stricter parser
 o Poorly written C++ applications that don't work with stricter parser
 * Poorly written C applications that don't work with stricter parser
 * Poorly written C++ applications that don't work with stricter parser
Line 68: Line 77:

N/A
Line 72: Line 83:
Proposal sent to debian-release, http://lists.debian.org/debian-release/2005/04/msg00153.html

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)