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 <Kuan-Ying.Lee@xxxxxxxxxxxx> --- 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. -- 2.18.0