lca14 14-501- glibc-eglibc

17
Ryan Arnold, LCA14, Macau LCA14-14-501: GLIBC & EGLIBC

Upload: linaro

Post on 13-Jun-2015

53 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lca14 14-501- glibc-eglibc

Ryan Arnold, LCA14, Macau

LCA14-14-501: GLIBC & EGLIBC

Page 2: 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

Page 3: Lca14 14-501- glibc-eglibc

• 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?

Page 4: Lca14 14-501- glibc-eglibc

• ‘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

Page 5: Lca14 14-501- glibc-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

Page 6: Lca14 14-501- glibc-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?

Page 7: Lca14 14-501- glibc-eglibc

• No, eglibc has always been glibc.

• But, your applications might get a bit bigger.

Is this scary?

Page 8: Lca14 14-501- glibc-eglibc

• Option group users will have larger libraries.

• Option group users will have larger static binaries..

Is there risk?

Page 9: Lca14 14-501- glibc-eglibc

• Glibc, the parent project.

• Newlib or uClibc

What’s the Alternative?

Page 10: Lca14 14-501- glibc-eglibc

• 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

Page 11: Lca14 14-501- glibc-eglibc

• 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?

Page 12: Lca14 14-501- glibc-eglibc

• Linaro will start to maintain an upstream glibc branch:• linaro/X.Y/master

Linaro Upstream Glibc Branch

Page 13: Lca14 14-501- glibc-eglibc

• Option Group Support

• Cross-localedef

• Some features not relevant to ARM.

What’s being left behind?

Page 14: Lca14 14-501- glibc-eglibc

• 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!

Page 15: Lca14 14-501- glibc-eglibc

• Aarch64 Stack Smashing Protector

• Malloc Benchmarking Integrated in glibc.

• Malloc replacement?

• Testsuite Improvement.

• ports/ promotion into main repository.

Looking Forward: Glibc 2.20

Page 16: Lca14 14-501- glibc-eglibc

• 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

Page 17: Lca14 14-501- glibc-eglibc

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