Mold 2.35 Released With Big Endian ARM64 Support

Written by Michael Larabel in Programming on 8 December 2024 at 05:41 AM EST. 2 Comments
PROGRAMMING
Rui Ueyama announced the release today of Mold 2.35 as the latest iteration of this high speed linker alternative to the linkers available from the GCC and LLVM toolchain projects.

On the feature side, Mold 2.35 adds support for big endian ARM64 to complement the existing and much more common little endian mode. Big endian ARM64 isn't as nearly popular as little endian but Mold 2.35 now supports this alternative ABI variant.

Mold 2.35 also adds support for big endian SH4 processors. Rui explained there, "Big-endian SH4 is now supported. SH4 has become a minor CPU nowadays, and its big-endian variant is even more so, but some SHARP scientific calculators still use SH4 processors in big-endian mode."

Somewhat related to Rui Ueyama where he recently outlined some Linux kernel performance bottlenecks holding up the Mold linker and one of them being that it's slower writing to a fresh file than an existing file, in Mold 2.35 he's had to workaround some buggy behavior in this area with Linux 6.11. Rui explained among the fixes in the new linker release:
"mold attempts to overwrite an existing file if a specified output file already exists because reusing an existing file is much faster than creating a fresh file and writing to it on Linux. If an existing file is currently running, open(2) for that file fails with ETXTBSY. When that happens, mold falls back to creating a new file. The problem here is that Linux kernel version 6.11 changed that well-known behavior of open(2), and it now allows user programs to overwrite a running executable. That caused a very mysterious issue for programs that rebuild themselves during the build, such as gcc or ninja. Even though the kernel's change has been reverted, we need to make adjustments to mold for that particular version of the Linux kernel. So, if mold detects that it is running on Linux 6.11, it no longer tries to reuse an existing output file."

Plus a handful of other bug fixes in Mold 2.35. The Mold 2.35 linker can be downloaded from GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week