1# Fuchsia's libc
2
3TODO(ZX-1598) Type more here.
4
5## Standards
6
7### C11
8
9Fuchsia's libc supports most of the [C11][c11std] standard. This
10in particular includes the atomic and threading portions of the
11standard library.
12
13### POSIX
14
15Fuchsia implements a subset of POSIX.
16
17Things at least partially supported include the basics of POSIX I/O
18(open/close/read/write/stat/...), and pthreads (threads and mutexes).
19
20On Fuchsia, the portion of file paths beginning with a sequence of
21`..` is resolved locally. See [this writeup][dotdot] for more
22information.
23
24Similarly, symlinks are not supported on Fuchsia.
25
26Conspicuously not supported are UNIX signals, fork, and exec.
27
28## FDIO
29
30Fuchsia's libc does not directly support I/O operations. Instead it
31provides weak symbols that another library can override. This is
32typically done by [fdio.so][fdio].
33
34## Linking
35
36Statically linking libc is not supported. Everything dynamically links libc.so.
37
38## Dynamic linking and loading
39
40libc.so is also the dynamic linker.
41
42[c11std]: https://en.wikipedia.org/wiki/C11_(C_standard_revision)
43[dotdot]: https://fuchsia.googlesource.com/docs/+/master/dotdot.md
44[fdio]: ../system/ulib/fdio
45