35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
|
# bionic documentation
|
||
|
|
||
|
[bionic](https://en.wikipedia.org/wiki/Bionic_(software)) is Android's
|
||
|
C library, math library, and dynamic linker.
|
||
|
|
||
|
## User documentation
|
||
|
|
||
|
* [Android bionic status](status.md) - where we are in terms of standards,
|
||
|
and what changed with each OS release.
|
||
|
* [32-bit ABI bugs](32-bit-abi.md) - historical accidents we can never fix.
|
||
|
* [`EINTR`](EINTR.md) - what is the `EINTR` failure,
|
||
|
and how can code deal with it?
|
||
|
* [When to use which `#define`](defines.md) - how to choose between
|
||
|
`__ANDROID__` and `__BIONIC__` and all the other options for conditional
|
||
|
compilation.
|
||
|
* [fdsan](fdsan.md) - bionic's file descriptor sanitizer,
|
||
|
which detects use-after-close() bugs.
|
||
|
* [fdtrack](fdtrack.md) - bionic's file descriptor tracker,
|
||
|
which helps debug file descriptor leaks.
|
||
|
|
||
|
## Maintainer documentation
|
||
|
|
||
|
If you're trying to make changes to bionic _itself_, start with the
|
||
|
[bionic maintainer documentation](../README.md).
|
||
|
|
||
|
We also have more detail on several specific parts of the implementation:
|
||
|
|
||
|
* [The anatomy of bionic's `_FORTIFY_SOURCE`](clang_fortify_anatomy.md) -
|
||
|
how does `_FORTIFY_SOURCE` work on bionic (primarily "with clang").
|
||
|
* [Android ELF TLS](elf-tls.md) - details of bionic's ELF TLS implementation.
|
||
|
* [Validating libc assembler](libc_assembler.md) - how to test changes to
|
||
|
libc assembler routines.
|
||
|
* [Validating native allocator changes](native_allocator.md) - how to test
|
||
|
changes to the native allocator.
|