Software ecosystem
GCC
GCC is central to many native-code ecosystems, but CHERI compiler support has historically centred on Clang/LLVM.
Why it matters
Toolchain choice affects diagnostics, language behaviour, binary interfaces and the long-term cost of porting.
In brief
GCC is central to many native-code ecosystems, but CHERI compiler support has historically centred on Clang/LLVM. Any GCC-based CHERI route should therefore be assessed by target, branch, ABI coverage, runtime compatibility and maintenance status.
Key considerations
1. Target
Identify the exact CHERI architecture and whether a maintained GCC implementation exists for it.
2. Coverage
Check C/C++ features, assembler, linker, builtins, sysroot, libraries, debugger and conformance tests.
3. Strategy
Use LLVM where it is the supported reference path unless a GCC requirement has evidence, ownership and a maintenance plan.
Evidence and caveats
Do not infer CHERI support from conventional RISC-V or Arm support. Experimental branches may be incomplete or incompatible with current platforms.
Treat build, test, integration, upstream and maintained support as distinct states. Name the target and last verified date.