Re: [PATCH] arm64: update compiler option for PAC
From: Will Deacon <will@kernel.org>
Date: 2021-11-16 10:12:15
Also in:
linux-doc, linux-mediatek, lkml
On Mon, Nov 15, 2021 at 11:18:08AM +0800, Kuan-Ying Lee wrote:
quoted hunk ↗ jump to hunk
We pass -mbranch-protection=pac-ret+leaf to support PAC when we use GCC 9 or later. Before GCC 9, we pass -msign-return-address=all to support PAC. Signed-off-by: Kuan-Ying Lee <redacted> --- Documentation/arm64/pointer-authentication.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)diff --git a/Documentation/arm64/pointer-authentication.rst b/Documentation/arm64/pointer-authentication.rst index f127666ea3a8..055d08b0d42d 100644 --- a/Documentation/arm64/pointer-authentication.rst +++ b/Documentation/arm64/pointer-authentication.rst@@ -54,8 +54,10 @@ virtual address size configured by the kernel. For example, with a virtual address size of 48, the PAC is 7 bits wide. Recent versions of GCC can compile code with APIAKey-based return -address protection when passed the -msign-return-address option. This -uses instructions in the HINT space (unless -march=armv8.3-a or higher +address protection when passed compiler option as following. +Pass -msign-return-address when we use GCC 7, 8. +Pass -mbranch-protection when we use GCC 9 or later. +This uses instructions in the HINT space (unless -march=armv8.3-a or higher is also passed), and such code can run on systems without the pointer authentication extension.
I think I'd be more inclined to delete this paragraph altogether. It doesn't really document anything to do with the kernel, and trying to document the behaviour of "recent" versions of GCC is futile. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel