ToolchainRoadmap
3356
Comment: complete BOF notes
|
3356
|
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
Created: Date(2005-04-24T00:11:33Z) by MattZimmermanBR
Priority: HighPriorityBR
People: MatthiasKloseLead, JeffBaileySecondBR
Contributors: MattZimmermanBR
Interested: JimMcQuillan BR
Status: BreezyGoal, UduBof, DistroSpecification, DraftSpecBR
Packages: BR
Depends: BR
UduSessions: 1, 4, 8, etc BR
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
Transition plan http://www.ubuntulinux.org/wiki/BreezyToolchainTransition
- Prepare packages of GCC-4.0 (currently in experimental), glibc (Done, uploaded)
- PowerPC64 biarch support
Import of known FTBFS GCC-4.0 reports from unstable, for universe see http://www.ubuntulinux.org/wiki/UniverseCxxTransition (Done)
- Determine order of library updates
ToolchainRoadmap (last edited 2008-08-06 16:34:44 by localhost)