Ryan Arnold, LCA14, Macau
LCA14-14-501: GLIBC & EGLIBC
• Eglibc 2.19 has been created (Feb, 7 2014)
• Eglibc 2.19 is the last eglibc release
[Patches] EGLIBC 2.19 set up (last release branch), EGLIBC trunk now closed
From: Joseph Myers
Date: Fri, 7 Feb 2014 21:45:09 +0000
http://www.eglibc.org/archives/patches/msg01327.html
• Glibc is the future!
Eglibc is being retired
• glibc release cycle is 6 months +/- 2 months.
• glibc 2.19 released on Feb 7, 2014.
• glibc 2.20 Sept, or Oct.
How long do we have?
• ‘E’ stands for Embedded
• Created in 2006
• For embedded software/hardware providers.
• Reduced library size.
• Improved cross compilation and cross debugging.
• Glibc did not accept embedded changes.
History of Eglibc
• Past flash memory constraints & RAM constraints.
• Ubuntu on ARM - early consumer of Linaro’s
toolchain.
Why is Linaro using Eglibc?
Debian:
eglibc
Ubuntu:
eglibc
Linaro:
eglibc
• Glibc community leadership sea change.
• Embedded is no longer a dirty word in glibc.
• The Eglibc maintainer principle glibc maintainer.
• Cross building features glibc.
• ARM hardware has increased capacity in cycles, RAM,
and Flash Memory.
Why is Eglibc no longer needed?
• No, eglibc has always been glibc.
• But, your applications might get a bit bigger.
Is this scary?
• Option group users will have larger libraries.
• Option group users will have larger static binaries..
Is there risk?
• Glibc, the parent project.
• Newlib or uClibc
What’s the Alternative?
• System glibc version Linaro toolchain glibc version.
• Mentor/CodeSourcery will be moving to glibc.
• Canonical will be moving to glibc for Ubuntu.
It’s not just us
• Linaro GCC 4.9 toolchain (July 2014)
• Track current stable glibc release starting with glibc 2.19.
• Linaro GCC 4.8 toolchain (July 2014)
• Freeze on eglibc 2.19 and accept critical backports.
• Linaro GCC 4.7 toolchain (July 2014)
• no release - leave support frozen on eglibc 2.19.
What’s Linaro’s release plan with eglibc?
• Linaro will start to maintain an upstream glibc branch:
• linaro/X.Y/master
Linaro Upstream Glibc Branch
• Option Group Support
• Cross-localedef
• Some features not relevant to ARM.
What’s being left behind?
• Get a formalized request.
• Propose configure flags for selective removal to glibc
community.
• Is glibc the right c-library for your application?
But We Use That!
• Aarch64 Stack Smashing Protector
• Malloc Benchmarking Integrated in glibc.
• Malloc replacement?
• Testsuite Improvement.
• ports/ promotion into main repository.
Looking Forward: Glibc 2.20
• eglibc 2.19 is the last eglibc release.
• Glibc is the replacement.
• This isn’t scary.
• First Linaro toolchain with glibc 2.19 in July.
Questions?
Conclusion
More about Linaro Connect: http://connect.linaro.org
More about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/
Linaro members: www.linaro.org/members

Lca14 14-501- glibc-eglibc

  • 1.
    Ryan Arnold, LCA14,Macau LCA14-14-501: GLIBC & EGLIBC
  • 2.
    • Eglibc 2.19has been created (Feb, 7 2014) • Eglibc 2.19 is the last eglibc release [Patches] EGLIBC 2.19 set up (last release branch), EGLIBC trunk now closed From: Joseph Myers Date: Fri, 7 Feb 2014 21:45:09 +0000 http://www.eglibc.org/archives/patches/msg01327.html • Glibc is the future! Eglibc is being retired
  • 3.
    • glibc releasecycle is 6 months +/- 2 months. • glibc 2.19 released on Feb 7, 2014. • glibc 2.20 Sept, or Oct. How long do we have?
  • 4.
    • ‘E’ standsfor Embedded • Created in 2006 • For embedded software/hardware providers. • Reduced library size. • Improved cross compilation and cross debugging. • Glibc did not accept embedded changes. History of Eglibc
  • 5.
    • Past flashmemory constraints & RAM constraints. • Ubuntu on ARM - early consumer of Linaro’s toolchain. Why is Linaro using Eglibc? Debian: eglibc Ubuntu: eglibc Linaro: eglibc
  • 6.
    • Glibc communityleadership sea change. • Embedded is no longer a dirty word in glibc. • The Eglibc maintainer principle glibc maintainer. • Cross building features glibc. • ARM hardware has increased capacity in cycles, RAM, and Flash Memory. Why is Eglibc no longer needed?
  • 7.
    • No, eglibchas always been glibc. • But, your applications might get a bit bigger. Is this scary?
  • 8.
    • Option groupusers will have larger libraries. • Option group users will have larger static binaries.. Is there risk?
  • 9.
    • Glibc, theparent project. • Newlib or uClibc What’s the Alternative?
  • 10.
    • System glibcversion Linaro toolchain glibc version. • Mentor/CodeSourcery will be moving to glibc. • Canonical will be moving to glibc for Ubuntu. It’s not just us
  • 11.
    • Linaro GCC4.9 toolchain (July 2014) • Track current stable glibc release starting with glibc 2.19. • Linaro GCC 4.8 toolchain (July 2014) • Freeze on eglibc 2.19 and accept critical backports. • Linaro GCC 4.7 toolchain (July 2014) • no release - leave support frozen on eglibc 2.19. What’s Linaro’s release plan with eglibc?
  • 12.
    • Linaro willstart to maintain an upstream glibc branch: • linaro/X.Y/master Linaro Upstream Glibc Branch
  • 13.
    • Option GroupSupport • Cross-localedef • Some features not relevant to ARM. What’s being left behind?
  • 14.
    • Get aformalized request. • Propose configure flags for selective removal to glibc community. • Is glibc the right c-library for your application? But We Use That!
  • 15.
    • Aarch64 StackSmashing Protector • Malloc Benchmarking Integrated in glibc. • Malloc replacement? • Testsuite Improvement. • ports/ promotion into main repository. Looking Forward: Glibc 2.20
  • 16.
    • eglibc 2.19is the last eglibc release. • Glibc is the replacement. • This isn’t scary. • First Linaro toolchain with glibc 2.19 in July. Questions? Conclusion
  • 17.
    More about LinaroConnect: http://connect.linaro.org More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ Linaro members: www.linaro.org/members