BinUtils: Avoid llvm-ar on Apple platforms

Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we correctly prefer the
more-specific name `llvm-ar` over `ar` when using Clang.  However, on
Apple platforms, `llvm-ar` does not generate a symbol table that the
Apple linker accepts.  Fall back to `ar` on Apple platforms.

Fixes: #23269
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index f3c2345..ba7c405 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -172,7 +172,10 @@
     else()
       list(PREPEND _CMAKE_LINKER_NAMES "ld.lld")
     endif()
-    list(PREPEND _CMAKE_AR_NAMES "llvm-ar")
+    if(NOT APPLE)
+      # llvm-ar does not generate a symbol table that the Apple ld64 linker accepts.
+      list(PREPEND _CMAKE_AR_NAMES "llvm-ar")
+    endif()
     list(PREPEND _CMAKE_RANLIB_NAMES "llvm-ranlib")
     if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}" VERSION_GREATER_EQUAL 11)
       # llvm-strip versions prior to 11 require additional flags we do not yet add.