Mold 2.3 Linker Allows Removing Superfluous ENDBR64 Instructions

Written by Michael Larabel in Programming on 18 October 2023 at 08:21 AM EDT. 10 Comments
PROGRAMMING
Mold 2.3 was released today by Rui Ueyama as the newest version of this high-speed linker alternative to LLVM LLD and GNU Gold.

The main new feature of Mold 2.3 is adding a -z rewrite-endbr command for x86_64 that can convert superfluous ENDBR64 instructions into NOPs. This intends to address the increasing number of ENDBR64 instructions emitted by GCC when enabling the control flow protection (-fcf-protection) option. Mold aims to address the "overabundance of unnecessary ENDBR64 instructions" by performing whole program analysis on the input files to figure out functions whose addresses are never taken and then to replace the initial ENDBR64 with a NOP for no operation.

Mold 2.3 also produces a more compact ".gdb_index" section, more capable of handling input sections larger than 4GB, and having various RISC-V / ARM64 / PowerPC fixes.

Mold project logo


Downloads and more details on the Mold 2.3 changes via 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