]> gcc.gnu.org Git - gcc.git/commit
AArch64: Add UNSPECV_PATCHABLE_AREA [PR98776]
authorSebastian Pop <spop@amazon.com>
Wed, 30 Nov 2022 19:45:24 +0000 (19:45 +0000)
committerSebastian Pop <spop@amazon.com>
Thu, 15 Dec 2022 15:08:00 +0000 (15:08 +0000)
commit59bba6f9dc6dcfefe96e6fad677614f39928564e
tree2cad91e74f3b2a902ddad9d7e8abf3cbf7149b1c
parentb0ca8c23ebc478b602d3f4e011f440e2e28f307a
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.c (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.
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/testsuite/gcc.target/aarch64/pr92424-2.c
gcc/testsuite/gcc.target/aarch64/pr92424-3.c
gcc/testsuite/gcc.target/aarch64/pr98776.c [new file with mode: 0644]
This page took 0.0637760000000001 seconds and 6 git commands to generate.