https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94748
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Szabolcs Nagy <n...@gcc.gnu.org>: https://gcc.gnu.org/g:6ac83d350604c3e934d5e8a455ba7ec1c1c0240b commit r10-8069-g6ac83d350604c3e934d5e8a455ba7ec1c1c0240b Author: Szabolcs Nagy <szabolcs.n...@arm.com> Date: Fri Apr 24 17:36:02 2020 +0100 aarch64: don't emit bti j after NOTE_INSN_DELETED_LABEL [PR94748] It was previously discussed that indirect branches cannot go to NOTE_INSN_DELETED_LABEL so inserting a landing pad is unnecessary. See https://gcc.gnu.org/pipermail/gcc-patches/2019-May/522625.html Before the patch a bti j was inserted after the label in __attribute__((target("branch-protection=bti"))) int foo (void) { label: return 0; } This is not necessary and weakens the security protection. gcc/ChangeLog: PR target/94748 * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Remove the check for NOTE_INSN_DELETED_LABEL. gcc/testsuite/ChangeLog: PR target/94748 * gcc.target/aarch64/pr94748.c: New test.