Kernel gcc build dependency
Discuss the kernel's dependency on gcc and why it forces a re-upload of the kernel to rebuild with every new rev of gcc. Can we eliminate this dependency?
Blueprint information
- Status:
- Started
- Approver:
- Andy Whitcroft
- Priority:
- High
- Drafter:
- Leann Ogasawara
- Direction:
- Approved
- Assignee:
- Leann Ogasawara
- Definition:
- Approved
- Series goal:
- Accepted for oneiric
- Implementation:
- Started
- Milestone target:
- None
- Started by
- Andy Whitcroft
- Completed by
Whiteboard
After discussion during UDS-O, the Ubuntu Kernel Team is going to work on the assumption that a gcc-4.x.y to gcc-4.x.z update will not force a re-upload of the kernel. We'll keep an eye out for bug reports, if any, reporting an issue with inconsistency. Doko and the kernel team will also interlock better near milestones in case there will be major changes to the compiler. There will also be a specific slot in the weekly release meeting to announce any compiler changes coming down the pipe.
Work items for oneiric-alpha-1:
[kate.stewart] Update weekly agenda to have a spot for doko to summarize upcoming changes to compiler: DONE
Work items for oneiric-alpha-2:
[kate.stewart] Schedule all teams meeting at Rally to discuss the release+1 compiler decision as UDS is too late: DONE
Work items for ubuntu-
[apw] Check compiler used in all builds in getabis and warn if not consistent: DONE
-------
Notes from Rally on release+1 compiler.
Binutils: will be pulling from trunk for x86/amd64/arm
• p-series LTS: binutils 2.22 is likely candidate.
• Last update on feature freeze.
• Week before milestones.
• Arch specific patches, get it.
Past Feature Freeze
• need notification and signoff before it goes in.
• Couple days in advance - initially Ubuntu toolchain repository -- then after email,
• email to ubuntu-devel after feature freeze; broadcast for impact before change made.
debian-arm and linaro-dev about how to track arm optimizing fixes... impact?
gcc:
- current: 11.10 - 2 updates from linaro 4.6.1 - last update in July, Linaro stable branch. (after Feature freeze)
- p-series LTS: 4.6.3 is likely to be release Jan/Feb, plan is to use this
- need to coordinate with Linaro to make stable release/branch, Feb? Use this stable version. (Severe bug fixes and regression fixes - should be at this stage)
ARM ABI change: ?
- p-series: LTS will be on ARM first time, Matthias and Dave to discuss with Michael at Linaro sprint.
- When do full archive rebuild with the compiler?
1-2 days before alpha and beta release.
A2 and A3 rebuild. 4 weeks before release?
- AI: 4.6.2 vs. 4.6.3 - make decision at P-series rally
- neon - change ABI - remain option. v7 spec, its optional. Blows up if not there. In libraries.
- v8 - is it going to be mandatory?
- Note: Thumb2 is not optional, generating user space mode.
- AI: Thumb2 kernel for omap - Kernel team to check out.
e/glibc -
- current: Not push to 2.14 for this cycle, dropping SUN rpc - libTI rpc - port map, will be at 2.13 (hack on at debconf)
- p-series - November release e/glibc 2.15 (if Fedora takes it); should be a low risk. Fall back is 2.14 - should be shaken out by then. Assess trunk for e/glibc.
- performance impact questions:
• which configuration tests?
• regressions for new hardware - didn't see in new hardware
• need to define a set of different processors
• QA - need a matrix of what hardware we need to test on?
• Need to extend testing to hardware depenedent - llvm?
• run as much of suite it
• AI: hardware profiles are representative - need to assess and come to agreement as group. Kernel/Compiler.
• multiarch in lucid - requested by intel partnership.
• new optimizations in SRU - fixes - need to be considered.
• ISAs. x86, v7 on ARM,
• ARM HF - issues with mono, unobridge, etc.
• armel - 5 years.... vs. ARM HF - speed difference. 20% Efika benchmarking?
• ARM server 5 year LTS, not desktop - lamp/hadoop
gdb -
- p-series: go with latest.
- AI: make decision of version at p-series rally.
- gdb has changed hands in Debian - Dan Jacobvitz retiring. Hector at Tobey Churchill is going to take in.
- Pulling gdb - from Linaro? esp. for ARM. Follows upstream closely.
- AI: make decision about gdb version/sources at p-series rally, Mattias follow up with Linaro.
JDK -
- p-series: AI: make decision for Open JDK 7 vs. Open JDK 6 at next UDS
LLVM - not putting effort into it any more.
- p-series: AI: discuss extent worth following at p-series UDS
- current: Probably ship with release out in October.
• Debian maintainer changed.
• Mesa drivers are depending on LLVM - should we be discussed.
• Graphics backends being written.
• Performance comparison (Apple - pre LLVM)
- AI: investigate someone should be testing? figure out build dependencies - how can we structure this?
gold
- in bfd linker. not being used by default in LTS.
Work Items
Dependency tree
* Blueprints in grey have been implemented.