xref: /aosp_15_r20/bionic/docs/README.md (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker# bionic documentation
2*8d67ca89SAndroid Build Coastguard Worker
3*8d67ca89SAndroid Build Coastguard Worker[bionic](https://en.wikipedia.org/wiki/Bionic_(software)) is Android's
4*8d67ca89SAndroid Build Coastguard WorkerC library, math library, and dynamic linker.
5*8d67ca89SAndroid Build Coastguard Worker
6*8d67ca89SAndroid Build Coastguard Worker## User documentation
7*8d67ca89SAndroid Build Coastguard Worker
8*8d67ca89SAndroid Build Coastguard Worker* [Android bionic status](status.md) - where we are in terms of standards,
9*8d67ca89SAndroid Build Coastguard Worker  and what changed with each OS release.
10*8d67ca89SAndroid Build Coastguard Worker* [32-bit ABI bugs](32-bit-abi.md) - historical accidents we can never fix.
11*8d67ca89SAndroid Build Coastguard Worker* [`EINTR`](EINTR.md) - what is the `EINTR` failure,
12*8d67ca89SAndroid Build Coastguard Worker  and how can code deal with it?
13*8d67ca89SAndroid Build Coastguard Worker* [When to use which `#define`](defines.md) - how to choose between
14*8d67ca89SAndroid Build Coastguard Worker  `__ANDROID__` and `__BIONIC__` and all the other options for conditional
15*8d67ca89SAndroid Build Coastguard Worker  compilation.
16*8d67ca89SAndroid Build Coastguard Worker* [fdsan](fdsan.md) - bionic's file descriptor sanitizer,
17*8d67ca89SAndroid Build Coastguard Worker  which detects use-after-close() bugs.
18*8d67ca89SAndroid Build Coastguard Worker* [fdtrack](fdtrack.md) - bionic's file descriptor tracker,
19*8d67ca89SAndroid Build Coastguard Worker  which helps debug file descriptor leaks.
20*8d67ca89SAndroid Build Coastguard Worker
21*8d67ca89SAndroid Build Coastguard Worker## Maintainer documentation
22*8d67ca89SAndroid Build Coastguard Worker
23*8d67ca89SAndroid Build Coastguard WorkerIf you're trying to make changes to bionic _itself_, start with the
24*8d67ca89SAndroid Build Coastguard Worker[bionic maintainer documentation](../README.md).
25*8d67ca89SAndroid Build Coastguard Worker
26*8d67ca89SAndroid Build Coastguard WorkerWe also have more detail on several specific parts of the implementation:
27*8d67ca89SAndroid Build Coastguard Worker
28*8d67ca89SAndroid Build Coastguard Worker* [The anatomy of bionic's `_FORTIFY_SOURCE`](clang_fortify_anatomy.md) -
29*8d67ca89SAndroid Build Coastguard Worker  how does `_FORTIFY_SOURCE` work on bionic (primarily "with clang").
30*8d67ca89SAndroid Build Coastguard Worker* [Android ELF TLS](elf-tls.md) - details of bionic's ELF TLS implementation.
31*8d67ca89SAndroid Build Coastguard Worker* [Validating libc assembler](libc_assembler.md) - how to test changes to
32*8d67ca89SAndroid Build Coastguard Worker  libc assembler routines.
33*8d67ca89SAndroid Build Coastguard Worker* [Validating native allocator changes](native_allocator.md) - how to test
34*8d67ca89SAndroid Build Coastguard Worker  changes to the native allocator.
35