The following content is mainly historical; EGLIBC is no longer maintained or developed except for merges to the remaining active release branches.
Below are highlights of EGLIBC features.
Support for configurability
A primary feature of EGLIBC is support for configurability.
You can build EGLIBC without support for NIS, locales, or
other things that you may not need in your embedded system.
EGLIBC strives to be source- and binary-compatible with GLIBC.
In default configuration EGLIBC is fully GLIBC-compatible.
EGLIBC contains various improvements and bug fixes to support
building of EGLIBC for targets that do not provide enough resources
to run the compiler, assembler, linker and other necessary tools.
EGLIBC aims to provide exactly the same installation whether
building natively or in cross environments.
EGLIBC documents and supports procedure for bootstrapping
a cross toolchain without having previously installed libc binaries
for that target.
Developers writing software for embedded systems often use
a desktop or other similarly capable computer for development,
but need to run tests on the embedded system, or perhaps on a simulator.
When configured for cross-compilation, the stock GNU C library
simply disables running tests altogether: the command
builds test programs, but does not run them. EGLIBC provides
facilities for compiling tests and generating data files on the build system,
but running the test programs themselves on a remote system or simulator.
EGLIBC incorporates support for processor-specific functionality.
FSF GLIBC's policy is to provide the same API across all architectures.
This policy sometimes prevents functionality that is useful on, or that
can be efficiently implemented on, only a subset of architectures from
being included in the library. EGLIBC's policy is to include system-specific
APIs when it is technically justified.
Building with -Os
EGLIBC supports building the library with compiler
optimizing for size
-Os instead of
Building without compatibility code
EGLIBC includes fixes that allow building the library without
compatibility code, thus reducing the library footprint.