[compiler-rt] Don't run arm64e builtins tests on darwin. (#153312) The compiler-rt build gradually learned to target arm64e. With that, we build builtins for arm64e, but running their tests usually isn't possible, because most versions of macOS so far restrict arm64e (on account of its unstable ABI). Starting with macOS 26, arm64e executables can be run, because the aligned linker automatically targets ptrauth ABI version 1. Without that, (at ABI version 0) these can't be executed. We can't rely or require new linkers (and we elsewhere explicitly fallback to ld classic anyway), so in the meantime one way to execute these would be to explicitly ask for ABI version 1, which we generally try to avoid, and don't support in our llvm (which unconditionally targets ABI version 0). This is also an uncommon situation; sanitizer runtime tests aren't run on arm64e today, because we haven't listed arm64e as a supported arch yet. Everything other than builtins also tests for execution in cmake first; we should consider that, but it has its own problems. So we can simply disable arm64e from tests, by filtering it out as a valid darwin host arch, which accurately reflects reality. When we try to add arm64e sanitizer runtime build and test support, we'll want to change that, but that's a bigger problem than builtins.
Welcome to the LLVM project!
This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.
The LLVM project has multiple components. The core of the project is itself called “LLVM”. This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.
C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.
Other components include: the libc++ C++ standard library, the LLD linker, and more.
Consult the Getting Started with LLVM page for information on building and running LLVM.
For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.
Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.
The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.