News: 0001510971

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Mold 2.35 Released With Big Endian ARM64 Support

([Programming] 19 Minutes Ago Big Endian ARM64)


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 [1]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 [2]GitHub .



[1] https://www.phoronix.com/news/Linux-Kernel-Bottlenecks-Mold

[2] https://github.com/rui314/mold/releases/tag/v2.35.0



phoronix

<knghtbrd> joeyh: I was down since midmorning yesterday and pacbell said
this morning that AT&T was to blame and almost all of the state
was down
<rcw> dunno why people insist the internet can survive a nuclear holocaust
when it can't survive a backhoe