lca14: lca14-501: glibc & eglibc
DESCRIPTION
Resource: LCA14 Name: LCA14-501: GLIBC & EGLIBC Date: 07-03-2014 Speaker: Ryan Arnold Video: https://www.youtube.com/watch?v=_xAo1zvmyC8 Website: http://www.linaro.org/ Linaro Connect: http://connect.linaro.org/ Slide: https://www.slideshare.net/linaroorg/lca14-14501-glibceglibcTRANSCRIPT
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 closedFrom: Joseph MyersDate: 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.orgMore about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/Linaro members: www.linaro.org/members