2026-08-11: Cleaning costs, or, examining the OpenBSD -fret-clean flag
Examining whether an OpenBSD compiler-based anti-ROP mitigation is worth it
academic, developer, with an eye towards a brighter techno-social life
Examining whether an OpenBSD compiler-based anti-ROP mitigation is worth it
"Correcting" some GCC documentation
So I didn't
Evaluating some OpenBSD security measures
Instructions to get a small embedded ARM64 device working with the latest FreeBSD operating system
Learn how to cross-compile a native GCC toolchain
Learn how to cross-compile a native GCC toolchain
Discovery and diagnosis of a bug hiding in plain sight
Step-by-step process to get pkgsrc working on modern AIX
Step-by-step process to get a modern GCC on an old Mac OS X
Testing VMWare Fusion and the Apple virtualization framework with each *BSD
Getting a compiler written in its own langauge bootstrapped for a new platform
A quick tutorial for setting up a complete cross compiling envinroment using a FreeBSD/amd64 host and macOS/aarch64 target
A walkthrough to bootstrap GDC on macOS/aarch64
A walkthrough to bootstrap DMD on OpenIndiana
A walkthrough to get Intel oneAPI DPC++/C++ to output native binaries for FreeBSD
How to use LLVM as the assembler for GCC, for FreeBSD and other systems
A walkthrough to get Oracle Developer Studio 12.6 to output native binaries for FreeBSD
Adding the experimental LLVM targets to the OpenBSD LLVM packages
My ordeal trying to get mold to be /usr/bin/ld on OpenBSD
Can the Sun assembler and Yasm be used with PCC?
Teaching an old compiler new tricks.
The (mis)adventures of installing Developer Studio on Illumos despite Oracle's many attempts to stop me.
Can we build all ten GCC langauge frontends on OpenBSD?
Reviewing the state of the new Modula-2 and Rust frontends for GCC on OpenBSD.
Reflections on the new CySA+ exam I took today.
Demonstrating the C compiler that lives inside a D compiler.
Discussing porting chibicc and kefir to OpenBSD.
A walkthrough on porting a brand new language to OpenBSD.
My thoughts on trying out the V programming language and its first-party apps for the first time.
Step-by-step instructions to get OpenBSD/riscv64 running on QEMU.
We study how LLVM and GCC optimize increments and decrements and teach those optimizations to our QBE optimizer.
Let's teach the Tiny C Compiler to emit better code.
Finishing up our peephole optimizer from the previous blog post.
Introducing O, a peephole optimizer to fix up missed opportunities in QBE.
Trying out the new GCC COBOL frontend on OpenBSD.
Reflections on the new Linux+ exam I took last week.
Abusing the C preprocessor for fun and profit.
Reflections on the new Project+ exam I took today.
Learning how to get the vbcc C compiler up and runnin on OpenBSD and able to compile the oksh shell.
Quick post to keep everyone updated on the latest OpenBSD and D news from me.
A short post writing down how to create a bootstrap LDC compiler for the OpenBSD port.
Previewing my DConf 2021 talk about D on OpenBSD by discussing how the new DMD package came to be.
Getting inconclusive numbers about the definitively best Unix shell.
A detailed write-up on porting J to OpenBSD.
Beginning a new compiler-writing adventure in which we will produce a self-hosting PL/0 compiler.
Learning the QBE Intermediate Language via writing a small Brainfuck compiler directly in QBE IR.
Adding the last few pieces needed for a finished PL/0 compiler.
Adding array support to our PL/0 compiler.
Adding basic input and output routines to our PL/0 compiler.