About

EGLIBC
Mission
Features
FAQ

Download

Repository
Prerequisites

Development

Contributing
Maintainers
Mailing Lists
IssueTracker

Administration

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.

Compatibility

EGLIBC strives to be source- and binary-compatible with GLIBC. In default configuration EGLIBC is fully GLIBC-compatible.

Cross-building

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.

Cross-testing

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 make tests 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.

System-specific APIs

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 for speed -O2.

Building without compatibility code

EGLIBC includes fixes that allow building the library without compatibility code, thus reducing the library footprint.