The outline atomic functions have hidden visibility and can only be called directly. Therefore we can remove the BTI at function entry. This improves security by reducing the number of indirect entry points in a binary. The BTI markings on the objects are still emitted.
Passes regress, OK for commit? libgcc/ChangeLog: * config/aarch64/lse.S (BTI_C): Remove define. --- diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S index ba05047ff02b6fc5752235bffa924fc4a2f48c04..dbfb83fb09083641bf06c50b631a5f27bdf61b80 100644 --- a/libgcc/config/aarch64/lse.S +++ b/libgcc/config/aarch64/lse.S @@ -163,8 +163,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define tmp3 14 #define tmp4 13 -#define BTI_C hint 34 - /* Start and end a function. */ .macro STARTFN name .text @@ -174,7 +172,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see .type \name, %function .cfi_startproc \name: - BTI_C .endm .macro ENDFN name