Morello software and compilers
summary
LLVM based toolchain using Clang LLD and GDB targets Morello with three ABIs pure capability ABI for full CHERI pointers, hybrid ABI for opt‑in compatibility, and a Mel‑specific Benchmark API that disables capability indirect branches to model future microarchitectures at the cost of security. Mel is a 2.5 GHz quad core prototype where indirect capability branch prediction causes stalls up to ~50–60% of cycles. CherryBSD ports compile over 10,000 packages, toolchain supports subobject bounds modes, and a detailed performance report and Compiler Explorer instance document behavior and tradeoffs.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:27Morello compiler toolchains
- 2:32ABIs in Morello
- 4:17Pure capability ABI
- 6:25Cherry CC++ guide
- 8:10Hybrid ABI
- 9:34Benchmark API
- 13:03Morello toolchain flags
- 14:08Sub-object bounds
- 16:34Language semantics
- 18:41Pointer arithmetic issues
- 20:29Porting to Morello
- 21:32Q&A ABI support
- 25:40Community support
- 27:25Q&A logos and APIs
related talks
53mLLVM
19mMELF: Multivariant Executables for a Heterogeneous World
01h 03mCLANG + C2 - Engineering/Futures/Measurements
43mToolchains for the Future
49mLLVMLinux: The Linux Kernel with Dragon Wings
24mRISC V LLVM: Towards A Production-Ready LLVM-Based Toolchain
19m"ClangBuiltLinux: What's Next?"
38mFireside chat
