Dr. Brian Robert Callahan

submited by
Style Pass
2023-11-20 07:30:13

It is an exciting time in OpenBSD land. The in-base compiler was recently updated to LLVM 16.0.6, a nice upgrade over the 13.0.0 series compiler previously included in base. Additionally, there is a port of LLVM 17.0.4 available in ports, though I don't remember seeing it in packages.

One big difference between the ports compiler and the in-base compiler is that the in-base compiler only targets the host machine; the ports compiler by contrast targets all the platforms that LLVM can target. I was very excited by the inclusion of LLVM 17.0.4, because I wanted to play around with the C-SKY and m68k targets.

Unfortunately, LLVM does not build those targets by default, even if you do what OpenBSD does and say you want all the targets. That is because these targets are considered experimental, and as such are hidden behind yet another configuration option.

There are a number of experimental targets: ARC, CSKY, DirectX, M68k, SPIRV, and Xtensa. I've enabled all of them; if we are going to gain a few experimental targets, we might as well gain them all.

Leave a Comment