We use libtool instead of llvm-ar on macOS because the commands that Bazel generates on macOS hosts don't work with llvm-ar.
I don't know when support for arg files (i.e. libtool @arg-file) was added to macOS's libtool but at the very least macOS 10.12's libtool (cctools-900) does not support this.
Bazel's native rules_cc machinery does not seem to pick up on this so builds fail on such machines at the archiving step.