am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
				
					
				
			* commit '4c0862474e63b09c901d11de47a318ce73a0c686': Fix some formatting so GitHub displays it nicely.
This commit is contained in:
		
							
								
								
									
										61
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								README.md
									
									
									
									
									
								
							@@ -4,40 +4,52 @@ Working on bionic
 | 
				
			|||||||
What are the big pieces of bionic?
 | 
					What are the big pieces of bionic?
 | 
				
			||||||
----------------------------------
 | 
					----------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
libc/ --- libc.so, libc.a
 | 
					#### libc/ --- libc.so, libc.a
 | 
				
			||||||
  The C library. Stuff like fopen(3) and kill(2).
 | 
					
 | 
				
			||||||
libm/ --- libm.so, libm.a
 | 
					The C library. Stuff like `fopen(3)` and `kill(2)`.
 | 
				
			||||||
  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
 | 
					#### 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.
 | 
					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
 | 
					#### libdl/ --- libdl.so
 | 
				
			||||||
  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".
 | 
					The dynamic linker interface library. This is actually just a bunch of stubs
 | 
				
			||||||
  On Android, that's either linker or linker64 (depending on whether it's a
 | 
					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
 | 
					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
 | 
					into memory and resolving references to symbols (so that when your code tries to
 | 
				
			||||||
  to jump to fopen(3), say, it lands in the right place).
 | 
					jump to `fopen(3)`, say, it lands in the right place).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
tests/ --- unit tests
 | 
					#### tests/ --- unit tests
 | 
				
			||||||
  The tests/ directory contains unit tests. Roughly arranged as one file per
 | 
					
 | 
				
			||||||
 | 
					The `tests/` directory contains unit tests. Roughly arranged as one file per
 | 
				
			||||||
publicly-exported header file.
 | 
					publicly-exported header file.
 | 
				
			||||||
benchmarks/ --- benchmarks
 | 
					
 | 
				
			||||||
  The benchmarks/ directory contains benchmarks.
 | 
					#### benchmarks/ --- benchmarks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The `benchmarks/` directory contains benchmarks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
What's in libc/?
 | 
					What's in libc/?
 | 
				
			||||||
----------------
 | 
					----------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<pre>
 | 
				
			||||||
libc/
 | 
					libc/
 | 
				
			||||||
  arch-arm/
 | 
					  arch-arm/
 | 
				
			||||||
  arch-arm64/
 | 
					  arch-arm64/
 | 
				
			||||||
@@ -121,6 +133,7 @@ libc/
 | 
				
			|||||||
  zoneinfo/
 | 
					  zoneinfo/
 | 
				
			||||||
    # Android-format time zone data.
 | 
					    # Android-format time zone data.
 | 
				
			||||||
    # See 'Updating tzdata' later.
 | 
					    # See 'Updating tzdata' later.
 | 
				
			||||||
 | 
					</pre>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Adding system calls
 | 
					Adding system calls
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user