You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,6 +53,39 @@ With it at `1`, none. The second follows from openkal reporting `ENOSYS` for
53
53
entropy: `std::random_device` is not built, and a program that names it is told
54
54
by the linker.
55
55
56
+
## Two configurations, and why there are two
57
+
58
+
`llvm-generated/` carries one directory per configuration, which is the shape
59
+
`musl-generated/` already has and for the same reason: these are configure
60
+
products, and a package with no configure step commits them.
61
+
62
+
||`generic`|`freestanding`|
63
+
| --- | --- | --- |
64
+
| threads | libc++ recognises the system and finds pthread itself | stated, because an unrecognised system makes libc++ stop with `No thread API` rather than guess |
65
+
| filesystem | yes | no — and the sources that implement it are then not compiled, which is what libc++'s own build does with the same switch |
66
+
| terminal | yes | no |
67
+
68
+
A target with no operating system also needs two switches a hosted one answers
69
+
by recognising the system: the unwinder's use of `dladdr` (there is no dynamic
70
+
loader, and the type its interface names does not exist), and `_GNU_SOURCE`
71
+
(libc++abi reaches `syscall` for a thread identity, and musl declares that name
72
+
only under it — LLVM's own runtimes build defines it for the same reason).
0 commit comments