ToolchainRoadmap
|
Size: 3506
Comment:
|
Size: 3600
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
Created: Date(2005-04-24T00:11:33Z) by MattZimmermanBR
Priority: HighPriorityBR
People: MatthiasKloseLead, JeffBaileySecondBR
Contributors: MattZimmermanBR
Interested: JimMcQuillan BR
Status: BreezyGoal, DistroSpecification, EditedSpecificationBR
Packages: BR
Depends: BR
UduSessions: 1(0) BR
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
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)