This change changes the build to use -fvisibility=hidden
The exports this patch removes are symbols that should have never been exported
by the dylib in the first place, and should all be symbols which the linker
won't de-duplicate across SO boundaries, making them safe to remove.
After this change, we should be able to apply _LIBCPP_HIDDEN to the versioning namespace without changing the export lists.
Why are we removing any symbols from the dylib? With the previous change I made, I already fixed the ABI lists and I assumed it would work just the same on Linux. Did the check-cxx-abilist fail on Linux when applying -fvisibility=hidden even after my patch?