aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorSebastian Pop <spop@amazon.com>2022-11-30 19:45:24 +0000
committerSebastian Pop <spop@amazon.com>2022-12-08 17:11:11 +0000
commit09c91caeb84e7c3609a12a53b57e5219a1dd2b15 (patch)
tree2e99afa890ace31b1981881b069caae575230c24 /libgcc
parent955093369ed41e7ad7d9e4fadc2948375a6cb103 (diff)
downloadgcc-09c91caeb84e7c3609a12a53b57e5219a1dd2b15.zip
gcc-09c91caeb84e7c3609a12a53b57e5219a1dd2b15.tar.gz
gcc-09c91caeb84e7c3609a12a53b57e5219a1dd2b15.tar.bz2
AArch64: Add UNSPECV_PATCHABLE_AREA [PR98776]
Currently patchable area is at the wrong place on AArch64. It is placed immediately after function label, before .cfi_startproc. This patch adds UNSPECV_PATCHABLE_AREA for pseudo patchable area instruction and modifies aarch64_print_patchable_function_entry to avoid placing patchable area before .cfi_startproc. gcc/ PR target/98776 * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): Declared. * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry): Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. (aarch64_output_patchable_area): New. * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. (patchable_area): Define. gcc/testsuite/ PR target/98776 * gcc.target/aarch64/pr98776.c: New. * gcc.target/aarch64/pr92424-2.c: Adjust pattern. * gcc.target/aarch64/pr92424-3.c: Adjust pattern.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions