summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-10-10 17:14:37 -0700
committerDan Albert <danalbert@google.com>2014-10-10 17:14:37 -0700
commit472cce5c98bd7200833a093275fd6e576fa0c4c1 (patch)
treef8c9072ef9e5365b6ffc8a649c5568b4b37cea17 /README.md
parent8c3901b2999e6821b8ee984193352ba45b003492 (diff)
downloadbionic-472cce5c98bd7200833a093275fd6e576fa0c4c1.zip
bionic-472cce5c98bd7200833a093275fd6e576fa0c4c1.tar.gz
bionic-472cce5c98bd7200833a093275fd6e576fa0c4c1.tar.bz2
Fix some formatting so GitHub displays it nicely.
Change-Id: Id6ce9a61bebd98544c85e5780147715c73d0e78b
Diffstat (limited to 'README.md')
-rw-r--r--README.md71
1 files changed, 42 insertions, 29 deletions
diff --git a/README.md b/README.md
index 143c762..300b98f 100644
--- a/README.md
+++ b/README.md
@@ -4,40 +4,52 @@ Working on bionic
What are the big pieces of bionic?
----------------------------------
-libc/ --- libc.so, libc.a
- The C library. Stuff like fopen(3) and kill(2).
-libm/ --- libm.so, libm.a
- The math library. Traditionally Unix systems kept stuff like sin(3) and
- cos(3) in a separate library to save space in the days before shared
- libraries.
-libdl/ --- libdl.so
- The dynamic linker interface library. This is actually just a bunch of
- stubs that the dynamic linker replaces with pointers to its own
- implementation at runtime. This is where stuff like dlopen(3) lives.
-libstdc++/ --- libstdc++.so
- The C++ ABI support functions. The C++ compiler doesn't know how to
- implement thread-safe static initialization and the like, so it just calls
- functions that are supplied by the system. Stuff like __cxa_guard_acquire
- and __cxa_pure_virtual live here.
-
-linker/ --- /system/bin/linker and /system/bin/linker64
- The dynamic linker. When you run a dynamically-linked executable, its ELF
- file has a DT_INTERP entry that says "use the following program to start me".
- On Android, that's either linker or linker64 (depending on whether it's a
- 32-bit or 64-bit executable). It's responsible for loading the ELF executable
- into memory and resolving references to symbols (so that when your code tries
- to jump to fopen(3), say, it lands in the right place).
-
-tests/ --- unit tests
- The tests/ directory contains unit tests. Roughly arranged as one file per
- publicly-exported header file.
-benchmarks/ --- benchmarks
- The benchmarks/ directory contains benchmarks.
+#### libc/ --- libc.so, libc.a
+
+The C library. Stuff like `fopen(3)` and `kill(2)`.
+
+#### libm/ --- libm.so, libm.a
+
+The math library. Traditionally Unix systems kept stuff like `sin(3)` and
+`cos(3)` in a separate library to save space in the days before shared
+libraries.
+
+#### libdl/ --- libdl.so
+
+The dynamic linker interface library. This is actually just a bunch of stubs
+that the dynamic linker replaces with pointers to its own implementation at
+runtime. This is where stuff like `dlopen(3)` lives.
+
+#### libstdc++/ --- libstdc++.so
+
+The C++ ABI support functions. The C++ compiler doesn't know how to implement
+thread-safe static initialization and the like, so it just calls functions that
+are supplied by the system. Stuff like `__cxa_guard_acquire` and
+`__cxa_pure_virtual` live here.
+
+#### linker/ --- /system/bin/linker and /system/bin/linker64
+
+The dynamic linker. When you run a dynamically-linked executable, its ELF file
+has a `DT_INTERP` entry that says "use the following program to start me". On
+Android, that's either `linker` or `linker64` (depending on whether it's a
+32-bit or 64-bit executable). It's responsible for loading the ELF executable
+into memory and resolving references to symbols (so that when your code tries to
+jump to `fopen(3)`, say, it lands in the right place).
+
+#### tests/ --- unit tests
+
+The `tests/` directory contains unit tests. Roughly arranged as one file per
+publicly-exported header file.
+
+#### benchmarks/ --- benchmarks
+
+The `benchmarks/` directory contains benchmarks.
What's in libc/?
----------------
+<pre>
libc/
arch-arm/
arch-arm64/
@@ -121,6 +133,7 @@ libc/
zoneinfo/
# Android-format time zone data.
# See 'Updating tzdata' later.
+</pre>
Adding system calls