The C++23 [N4917] defines what freestanding headers need to provide. This allows clang to use with any target of freestanding C++ without providing a libc since implementing libc might be too hard. Plus we have a bootstrapping problem for libcs like mlibc which uses freestanding C++ to implement the libc.
The previous commit contains many patches, and it looks like the reviewers are unwilling to review them anymore.
Just start a new revision for freestanding.
Besides what the standard requires, we provide as many headers as possible for libcxx.
Freestanding will only provide headers, not any libs.