This is the sixth post in my toolchains adventures series. Please check the previous posts in the toolchains category for more context about this journey.

In Pkgsrc land, I updated binutils to the 2.39 version, mold to the 1.3.1, 1.4.0, 1.4.1, and 1.4.2 versions, patchelf to the 0.15.0 one, and finally pax-utils to the 1.3.5 one.

Regarding OpenBSD, we imported llvm-profdata into the base system in early July, so I took the opportunity to propose importing llvm-cov as well. This was accepted and is now committed, which will allow producing reports from coverage data without having to install the devel/llvm port.

I also submitted a binutils port, with the stated goal to have up to date versions of the GNU binary utilities. As such it excludes as (for which we have the devel/gas port) and ld. This is intended to replace the aging versions we have in the base system (from binutils 2.17, released in 2006). All installed utilities have the ‘g’ prefix prepended to the binary name. After importing it, I noticed packages didn’t build on OpenBSD/arm64 and OpenBSD/armv7, so I got the chance to send patches upstream to add OpenBSD ARM and AArch64 Little Endian BFD support. While there, I also added the required entry for AArch64 GAS support in upstream binutils.

In September, I got the opportunity to attend the GNU Tools Cauldron 2022 conference which was held on September 16-18th 2022 in Prague, Czech Republic. Three days of talks and discussions about the GNU toolchain, in a friendly and relaxed atmosphere. There were a lot of interesting talks and people, and being able to discuss such topics in person was a nice change.

That’s all for now… Stay tuned!

binutils commits:

2022-09-02 d0a122d Add OpenBSD ARM Little Endian BFD support
2022-08-31 6472b23 Add OpenBSD AArch64 GAS support
2022-08-22 ba86e75 Add OpenBSD AArch64 Little Endian BFD support

LLVM commits:

2022-08-01 892e6e2 [clang] Update Clang version from 15 to 16 in scan-build.1