From: Naohiro Tamura Date: Wed, 12 May 2021 09:27:20 +0000 (+0000) Subject: aarch64: define BTI_C and BTI_J macros as NOP unless HAVE_AARCH64_BTI X-Git-Tag: glibc-2.34~356 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd4317fbd60a0fa416761aaafb4e32ca1ad22d38;p=thirdparty%2Fglibc.git aarch64: define BTI_C and BTI_J macros as NOP unless HAVE_AARCH64_BTI This patch defines BTI_C and BTI_J macros conditionally for performance. If HAVE_AARCH64_BTI is true, BTI_C and BTI_J are defined as HINT instruction for ARMv8.5 BTI (Branch Target Identification). If HAVE_AARCH64_BTI is false, both BTI_C and BTI_J are defined as NOP. --- diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h index 90acca4e428..b936e29cbdf 100644 --- a/sysdeps/aarch64/sysdep.h +++ b/sysdeps/aarch64/sysdep.h @@ -62,8 +62,13 @@ strip_pac (void *p) #define ASM_SIZE_DIRECTIVE(name) .size name,.-name /* Branch Target Identitication support. */ -#define BTI_C hint 34 -#define BTI_J hint 36 +#if HAVE_AARCH64_BTI +# define BTI_C hint 34 +# define BTI_J hint 36 +#else +# define BTI_C nop +# define BTI_J nop +#endif /* Return address signing support (pac-ret). */ #define PACIASP hint 25