Tech News
← Home  ·  All topics

Compiler

11 GoKawiil briefs on this topic

Developer revives 1998 transputer C compiler for 64-bit macOS build

Oscar Toledo G. rediscovered a 1998-era transputer C compiler he wrote, originally built with DJGPP/G++ for 32-bit DOS systems, and attempted to compile it on a modern 64-bit Macbook Air M1. He found the old code mixed integers and pointers interchangeably, lacked function prototypes, and used int instead of FILE*, all of which broke under clang since pointers are now 64-bit while integers remain 32-bit. He traces these issues back to inherited Small-C conventions, such as storing structures in byte pools and packing words as two bytes, and concludes a design change is needed to make the compiler portable.

AMD publishes detailed Venice EPYC benchmarks claiming lead over Nvidia Vera

AMD released a white paper expanding on its earlier performance claims for the upcoming EPYC 'Venice' server CPUs, reiterating that a 96-core Venice chip is about 20% faster per-core than Nvidia's 88-core Vera on SPEC CPU 2026's Integer Rate test. The paper also details throughput results showing the 256-core EPYC 9996 outperforming Intel's Xeon 6980P by 2.37x and Vera by 2.24x, plus a 78% generational gain over the prior 192-core EPYC 9965.

Developer details technical challenges of building Rust Glancer, a new Rust LSP

The author, creator of the experimental Rust LSP 'Rust Glancer,' published a deep technical overview explaining how Rust language servers work and why they are difficult to build. The post compares lessons learned from Rust Glancer with the design of the established rust-analyzer project, focusing on how LSPs must generate useful results from incomplete or partial code information.

Essay Argues Engineers Should Directly Fix Other Teams' Systems to Get Things Done

A software engineering essay makes the case for proactively doing other people's jobs when they won't act themselves, citing Intel engineers who reportedly added 32-bit CPU support directly into Microsoft's compiler rather than waiting for Microsoft to do it. The piece extends this logic to dealing with unresponsive managers and slow-moving 'Scaled Agile' planning processes, suggesting direct patches often beat waiting for bureaucratic scheduling.

Intel's x86 UD2 instruction traces back to two rival undefined opcodes, 0F FF and 0F B9

A Microsoft engineer explains the history behind x86's UD2 instruction, which architecturally guarantees an invalid opcode exception and is used by compilers to mark unreachable code. Before UD2 existed, developers relied on undocumented byte sequences like 0F FF and 0F B9 that happened to trigger the same crash behavior, splitting programmers into informal camps depending on which sequence they used.

Researcher Chris Domas warns compiler optimizations can silently erase security code

At Black Hat USA, security researcher Chris Domas told David Bombal that compilers can legally strip out security-critical operations like memory-clearing code, even when source code follows best practices. He demonstrated how subtle factors such as data size, register pressure and structure layout can determine whether an optimized binary is safe or exploitable, with some byte sizes producing secure code and nearby sizes producing vulnerable output.

BPF Capsule compiler runs full DOOM game logic inside Linux kernel via eBPF

A new project called BPF Capsule compiles large C programs, including a complete DOOM implementation, into standard eBPF bytecode that passes the unmodified Linux verifier and JIT. The system runs game initialization, logic, and rendering entirely inside the kernel, with userspace only supplying the WAD file and keyboard input and receiving back a finished framebuffer each tick. It works without kernel patches or a separate virtual machine, targeting kernels as old as Linux 5.15 on both x86-64 and arm64.

Rust compiler stabilizes the never type after two-year effort

Rust contributor 'waffle' landed stabilization of the language's never type (!) on August 24, ending more than two years of work. The change required a small breaking adjustment to earlier Rust editions, so maintainers spent extensive time verifying it wouldn't break existing code in the wild.

Developer builds a working Python interpreter in just 1024 bytes of C

Austin Z. Henley, a Microsoft engineer, built a minimalist Python interpreter written in C that fits within 1024 bytes of code, after an initial attempt at 512 bytes proved too small. The interpreter supports a limited subset of Python syntax—including def, colons, indentation, and parenthesis-free if statements—enough to run a FizzBuzz program, but skips CPython's full tokenizing, AST, and bytecode pipeline in favor of global variables and a fixed-length array.

Developer unveils 'Bespoke', a satirical politeness-enforcing programming language

A programmer has released Bespoke, a tongue-in-cheek statically typed language that requires every command to begin with a polite greeting and end with an acknowledgement, using the .charming file extension. Dubbed 'The Queen's Code,' it treats the compiler, output console, host environment and shared objects as parties deserving formal correspondence rather than blunt instructions. The project pokes fun at the terse, imperative tone of conventional programming syntax, and its creator notes the implementation is far less developed than its etiquette rules.

Developer builds structure-aware fuzzer to hunt bugs in the Gleam compiler

A developer frustrated by inconsistent Erlang and JavaScript outputs from the Gleam compiler first tried using an LLM to generate edge-case test programs, spending about $20 in tokens to surface just one confirmed bug (issue #5613), which was promptly fixed. Dissatisfied with the cost and randomness of that approach, they pivoted to building a structure-aware fuzzer that generates syntactically valid Gleam programs automatically to systematically probe the compiler for hidden defects.