]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Fix BTI support in libgcc [PR96001]
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 2 Jul 2020 16:11:56 +0000 (17:11 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 16 Jul 2020 12:46:36 +0000 (13:46 +0100)
commit315a7e8cca13530d4d3c5b5f39775c7a62877f3d
treea194df5a4fb21e3e339c3da80fc67476696c2b2f
parentbe6028a7a6581176fd3568ce1d992e331fcac1bb
aarch64: Fix BTI support in libgcc [PR96001]

lse.S did not have the GNU property note markup and the BTI c
instructions that are necessary when it is built with branch
protection.

The notes are only added when libgcc is built with branch
protection, because old linkers mishandle the note (merge
them incorrectly or emit warnings), the BTI instructions
are added unconditionally.

Note: BTI c is only necessary at function entry if the function
may be called indirectly, currently lse functions are not called
indirectly, but BTI is added for ABI reasons e.g. to allow
linkers later to emit stub code with indirect jump.

2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>

libgcc/ChangeLog:

PR target/96001
* config/aarch64/lse.S: Add BTI marking and related definitions,
and add BTI c to function entries.

(cherry picked from commit f0f62fa0320762119446893c67cb52934bc5a05e)
libgcc/config/aarch64/lse.S