Commit e3e912e
committed
ICU-23269 Add PAC/BTI tags to generated aarch64 assembler data
Background: PAC and BTI are branch and pointer authentication technologies
for aarch64:
https://developer.arm.com/community/arm-community-blogs/b/architectures-and-processors-blog/posts/enabling-pac-and-bti-on-aarch64
For PAC/BTI to be used at runtime, all of the ELF segments loaded need
to confirm that they're compatible. If given the right options both GCC
and Clang automatically generate code that is compatible and add the
annotations.
However, if data files are built into binary objects with tools/gen*
using assembler, then these tags are not present and all of ICU cannot
use branch protection or pointer authentication.
As the generated assembler is literally only data, we can just add the
tags. This is similar to how Intel CET is enabled in the same file.1 parent bbd7d91 commit e3e912e
2 files changed
+25
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
140 | 143 | | |
141 | 144 | | |
142 | 145 | | |
| |||
0 commit comments