Instead of storing the symlinks in the repo, we create them on the fly to be cross-toolchain-friendly. The primary use case for this are Windows-hosted cross-toolchains. Windows doesn't really have a concept of symlinks. So, when the monorepo is cloned, those symlinks turn to ordinary text files. Previously, if we cross-compiled libc++ for some symlink-friendly system (e. g. Linux) and ran tests on the target system, some tests would fail. This patch makes them pass.
I'm not sure though about the need to create the RAII object in each test case that relies on those symlinks being present. Maybe a global constructor would be better. Please let me know what you think.