Replaces the symbol checker CMake target with a lit test (per the TODO: https://github.com/llvm/llvm-project/blob/main/libcxx/utils/ci/run-buildbot#L157).
The changes can be broken down as:
- Moved the existing libcxx logic to runtimes/utils/, while making it more generic to support additional runtimes.
- Create a lit test to check the libc++ symbols, removing the CMake target that runs in the builds.
(Original description for reference. Will be removed before patch lands)
Ultimately, there are 2 goals that begin with this patch:
- Allow the abi symbol checker support additional runtimes (libunwind, libc++abi).
- Replace the symbol checker CMake target with a lit test (per the TODO: https://github.com/llvm/llvm-project/blob/main/libcxx/utils/ci/run-buildbot#L157).
The first step to this transition is to take the existing libcxx logic and make it more generic. This patch moves the files out of the libcxx/utils directory and into the utils directory, while making the necessary changes to allow the files to continue to run as expected.
There will be a follow-up patch that makes generate_abi_list.py only filter the stdlib symbols if an argument is passed. This way, the file can be used on the other libraries.
Finally, there will be a patch that creates a lit test to check the libc++ symbols. This lit test will also serve as the template for the libunwind and libc++abi symbol checking lit tests.
If we go this route, the call to the check-cxx-abilist target will need to be removed from run-buildbot