ARMv8.5 Branch Target Identification Support Lands In GCC 9 Compiler

Written by Michael Larabel in Arm on 10 January 2019 at 05:18 AM EST. Add A Comment
A late addition to the GCC 9 code compiler are new additions around ARMv8.5 as the latest revision to the AArch64 specification.

Back in November saw initial ARMv8.5 commits for GCC9 while merging yesterday were more of the ARMv8.5 changes for squaring away this minor 64-bit ARM revision. The main addition yesterday was introducing Branch Target Identification (BTI). ARMv8.5's BTI has already been supported in LLVM/Clang and is part of ARM's Spectre Variant Two mitigations. Branch Target Identification when enabled marks valid targets of indirect branches and the CPU will trap an instruction in a protected page that is trying to perform an indirect branch to an instruction other than a marked BTI.

Over the course of a few patches on Wednesday, that code is now in place for ARMv8 BTI with GCC 9.

There is also a patch enabling the new switches around Speculation Barrier Instruction (SB), Memory Tagging Extension (MEMTAG), and Random Number Generation (RNG).
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of 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 automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week