Building a Host-Tuned GCC to Make GCC Compile Faster

A while ago, I became interested in reducing my compile times, and examined various methods for this. This blog post is about enabling all compiler options that I believe can make gcc faster when compiling code, and measuring the gains I got as a result. How to Build It mkdir build-gcc16 cd build-gcc16 ../gcc-16.1.0/configure \ --prefix="$HOME/opt/gcc16-super" \ --program-prefix=super- \ --enable-languages=c,c++ \ --disable-multilib \ --with-build-config='bootstrap-native bootstrap-lto bootstrap-O3' make profiledbootstrap -j$(nproc) make install-strip Expect to be waiting for a while on make profiledbootstrap. It took 72 minutes of wall time on my laptop (AMD Ryzen AI MAX+ PRO 395, 16c/32t, -j32). ...

May 22, 2026 · 5 min · Peter0x44

BigObj COFF Object Files: Binary Structure Explained

I recently implemented BigObj COFF file parsing in cgo (golang/go#24341). In the process, I quickly discovered that Microsoft doesn’t document the binary format anywhere. Their official documentation is the only reference they have to BigObj as far as I can tell, and it doesn’t say anything about the binary format. I didn’t see any other blogs or resources covering this topic either. I figured it out by reading binutils and LLVM source code, so I’m documenting what I learned while the knowledge is still fresh in my memory. ...

September 28, 2025 · 4 min · Peter0x44

Cross Compilation Theory and Practice - from a Tooling Perspective

Cross compilation is a common task during development, but different compilers and programming languages handle it in their own ways, and I wanted to write about the various flavors of trade-offs and design decisions that you will find across different tooling. I feel like I have absorbed a lot of information about how cross compilation works across different targets, tools and languages, so I figured it was time to condense my knowledge into a blog post. This is not a tutorial, but it still contains practically applicable knowledge. I don’t claim to get every detail correct, merely explaining how things work to my understanding. ...

July 28, 2025 · 7 min · Peter0x44