bionic is Android's C library, math library, and dynamic linker.
- Android bionic status - where we are in terms of standards, and what changed with each OS release.
- 32-bit ABI bugs - historical accidents we can never fix.
EINTR
- what is theEINTR
failure, and how can code deal with it?- When to use which
#define
- how to choose between__ANDROID__
and__BIONIC__
and all the other options for conditional compilation. - fdsan - bionic's file descriptor sanitizer, which detects use-after-close() bugs.
- fdtrack - bionic's file descriptor tracker, which helps debug file descriptor leaks.
If you're trying to make changes to bionic itself, start with the bionic maintainer documentation.
We also have more detail on several specific parts of the implementation:
- The anatomy of bionic's
_FORTIFY_SOURCE
- how does_FORTIFY_SOURCE
work on bionic (primarily "with clang"). - Android ELF TLS - details of bionic's ELF TLS implementation.
- Validating libc assembler - how to test changes to libc assembler routines.
- Validating native allocator changes - how to test changes to the native allocator.