The Curious Engineer

All blogs / Compilers

Dr. Brian Robert Callahan

briancallahan.net/blog

academic, developer, with an eye towards a brighter techno-social life

CompilersLinux / UnixOS / kernel

Posts
96 from 15 Jun 2020 to 11 Aug 2026
Posting
monthly (6 in the last year)
Kind
personal blog
Feed
https://briancallahan.net/blog/feed.xml

2026 5

  1. 2026-08-11: Cleaning costs, or, examining the OpenBSD -fret-clean flag
  2. Blog archives
  3. 2026-07-13: I bootstrapped GDC with DMD
  4. 2026-06-09: An addendum I really didn't want to write
  5. 2026-03-22: Semi-retirement, or, really, changing my relationship with the BSDs

2025 8

  1. 2025-12-16: Let's run FreeBSD 15.0-RELEASE on a Raspberry Pi Zero 2 W
  2. 2025-09-01: Let's write a peephole optimizer for QBE's arm64 backend
  3. 2025-08-17: Despite thoughts to the contrary, GNAT (Ada) is in fact fully supported on illumos
  4. 2025-08-13: The GNU D compiler has been broken on FreeBSD 14 for over a year and no one noticed, or, why operating system package maintainers matter
  5. 2025-05-16: I revived pkgsrc on AIX
  6. 2025-03-29: GCC 14.2.0 on PowerPC Mac OS X 10.4 Tiger
  7. 2025-02-22: State of virtualizing the BSDs on Apple Silicon
  8. 2025-01-12: Let's port the GNAT Ada compiler to macOS/aarch64

2024 6

  1. 2024-12-16: Let's cross compile from FreeBSD/amd64 to macOS/aarch64
  2. 2024-12-12: A GDC package for macOS/aarch64
  3. 2024-06-09: A DMD package for OpenIndiana
  4. 2024-03-06: FreeBSD has a(nother) new C compiler: Intel oneAPI DPC++/C++
  5. 2024-01-22: Can GCC use Clang as its assembler?
  6. 2024-01-01: FreeBSD has a new C compiler: Oracle Developer Studio 12.6

2023 6

  1. 2023-11-19: Enabling LLVM with m68k (and more) support on OpenBSD
  2. 2023-08-13: Can mold be used as the OpenBSD system linker?
  3. 2023-07-23: Using non-GNU assemblers with the Portable C Compiler
  4. 2023-07-05: Porting the Portable C Compiler (PCC) to Illumos
  5. 2023-07-03: Installing Oracle Developer Studio 12.6 on Illumos
  6. 2023-06-26: GCC --enable-languages=all on OpenBSD

2022 15

  1. 2022-12-19: GCC now includes Modula-2 and Rust. Do they work on OpenBSD?
  2. 2022-11-13: I took the CompTIA CySA+ CS1-003 beta exam for fun
  3. 2022-07-04: Your next C compiler is a D compiler: Introducing DMD's ImportC
  4. 2022-06-29: OpenBSD has two new C compilers: chibicc and kefir
  5. 2022-04-27: I ported the new Hare compiler to OpenBSD
  6. 2022-04-26: Let's try V on OpenBSD
  7. 2022-04-18: Let's install OpenBSD/riscv64 on QEMU
  8. 2022-04-17: I wrote a peephole optimizer (for QBE), part 3: Studying the LLVM and GCC optimizers
  9. 2022-04-06: Hand-optimizing the TCC code generator
  10. 2022-04-02: I wrote a simple, explainable, peephole optimizer (for cproc and QBE), part 2
  11. 2022-03-30: I wrote a peephole optimizer (for QBE), part 1
  12. 2022-03-21: I built the new gcobol compiler on OpenBSD
  13. 2022-02-22: I took the CompTIA Linux+ XK1-005 beta exam for fun
  14. 2022-02-20: I wrote the least-C C program I could
  15. 2022-02-05: I took the CompTIA Project+ PK1-005 beta exam for fun

2021 42

  1. 2021-12-04: Supporting a new C compiler for oksh and review of the vbcc C compiler
  2. 2021-10-31: More OpenBSD and D news
  3. 2021-10-20: An LDC bootstrap compiler and LDC package for OpenBSD
  4. 2021-10-13: Packaging the DMD D compiler for OpenBSD
  5. 2021-10-10: Benchmarking the oksh shell, or, let's look at a lot of C compilers
  6. 2021-09-11: I got the J language working on OpenBSD
  7. 2021-09-06: Let's write a self-hosting compiler, part 1: Reading in source code
  8. 2021-08-29: Let's get hands-on with QBE
  9. 2021-08-26: Let's write a compiler, part 8: Strings, forward references, and conclusion
  10. 2021-08-22: Let's write a compiler, part 7: Arrays
  11. 2021-08-19: Let's write a compiler, part 6: Input and output
  12. 2021-08-18: Let's write a compiler, part 5: A code generator
  13. 2021-08-17: Let's write a compiler, part 4: Testing
  14. 2021-08-16: Let's write a compiler, part 3: A parser
  15. 2021-08-15: Let's write a compiler, part 2: A lexer
  16. 2021-08-14: Let's write a compiler, part 1: Introduction, selecting a language, and doing some planning
  17. 2021-08-02: Reviewing my first OpenBSD port, and what I'd do differently 10 years later
  18. 2021-08-01: I write for QEX, and you should too
  19. 2021-07-10: I wrote a 231-byte Brainfuck compiler by abusing everything
  20. 2021-06-27: Write an OpenBSD port with me: The TIC-80 fantasy game console
  21. 2021-06-09: I wrote a linker everyone can understand!
  22. 2021-06-06: Introducing 8088ify: The CP/M to MS-DOS assembly translator
  23. 2021-06-04: I participated in my first "game" jam
  24. 2021-05-29: Profiling our assembler with the DMD compiler
  25. 2021-05-22: The GNU D Compiler on OpenBSD/armv7
  26. 2021-05-20: The GNU D Compiler on OpenBSD/arm64
  27. 2021-04-25: A multi-platform "compiler"
  28. 2021-04-15: Demystifying programs that create programs, part 9: Pseudo-ops
  29. 2021-04-14: Demystifying programs that create programs, part 8: Finishing opcode processing
  30. 2021-04-13: Demystifying programs that create programs, part 7: Further opcode processing
  31. 2021-04-12: Demystifying programs that create programs, part 6: Processing more opcodes
  32. 2021-04-11: Demystifying programs that create programs, part 5: Processing our first opcode
  33. 2021-04-10: Demystifying programs that create programs, part 4: Parsing
  34. 2021-04-09: Demystifying programs that create programs, part 3: Globals, passes, and error handling
  35. 2021-04-08: Demystifying programs that create programs, part 2: Starting an sassembler
  36. 2021-04-07: Demystifying programs that create programs, part 1: A disassembler
  37. 2021-04-03: I got the GNU Modula-2 compiler working on OpenBSD
  38. 2021-03-27: My experiences writing my first real D program and using it to improve OpenBSD D support
  39. 2021-03-20: A working D compiler on OpenBSD
  40. 2021-03-11: Quick shameless plug
  41. 2021-02-15: All the C compilers that can produce working binaries on OpenBSD -current (that I know of)
  42. 2021-02-14: I donated a patch and got a free compiler!

2020 14

  1. 2020-11-24: I wrote a pager that works on Unix and CP/M
  2. 2020-11-18: Comparing a new language for tiny machines
  3. 2020-11-04: Why aren't new hams getting published?
  4. 2020-10-10: Where are all the protocols?
  5. 2020-09-26: From new ham to QEX author in two months
  6. 2020-08-27: Let's create a protocol, part 1: Introducing the CW Record Protocol
  7. 2020-08-25: Why I got my amateur radio license in 2020
  8. 2020-08-16: I wrote the world's worst text editor (so you don't have to)
  9. 2020-08-12: Can we do better than our C compiler?
  10. 2020-08-08: Where do argc and argv come from?
  11. 2020-08-06: Compiler numbers, and why they don't matter
  12. 2020-08-03: Extreme minimalism and constraints in game development (Code deep dive #1)
  13. 2020-07-26: Introducing Free Bee
  14. 2020-06-15: TryHackMe|Learn Linux