lca14: lca14-501: glibc & eglibc

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

Upload: linaro

Post on 18-Nov-2014

625 views

Category:

Technology


0 download

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-glibceglibc

TRANSCRIPT

Page 1: LCA14: LCA14-501: GLIBC & EGLIBC

Ryan Arnold, LCA14, Macau

LCA14-14-501: GLIBC & EGLIBC

Page 2: LCA14: LCA14-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: LCA14-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: LCA14-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: LCA14-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: LCA14-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: LCA14-501: GLIBC & EGLIBC

• No, eglibc has always been glibc.

• But, your applications might get a bit bigger.

Is this scary?

Page 8: LCA14: LCA14-501: GLIBC & EGLIBC

• Option group users will have larger libraries.

• Option group users will have larger static binaries..

Is there risk?

Page 9: LCA14: LCA14-501: GLIBC & EGLIBC

• Glibc, the parent project.

• Newlib or uClibc

What’s the Alternative?

Page 10: LCA14: LCA14-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: LCA14-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: LCA14-501: GLIBC & EGLIBC

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

Linaro Upstream Glibc Branch

Page 13: LCA14: LCA14-501: GLIBC & EGLIBC

• Option Group Support

• Cross-localedef

• Some features not relevant to ARM.

What’s being left behind?

Page 14: LCA14: LCA14-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: LCA14-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: LCA14-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: LCA14-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