]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gas: aarch64: suppport CFI directive .cfi_mte_tagged_frame
authorIndu Bhagat <indu.bhagat@oracle.com>
Fri, 22 Nov 2024 04:40:41 +0000 (20:40 -0800)
committerIndu Bhagat <indu.bhagat@oracle.com>
Fri, 11 Apr 2025 03:54:24 +0000 (20:54 -0700)
commit22373d691f73d84d7a0de08cffad30c923af053c
treee6cb9508e69ec71fde1ea3f24547e143fb4b9247
parent08e5abd65230f60bdd26036251739c12ed8042e6
gas: aarch64: suppport CFI directive .cfi_mte_tagged_frame

Process a new aarch64-specific CFI directive: .cfi_mte_tagged_frame
(LLVM uses this CFI directive already).  The CFI directive, when present
for a function, indicates that the stack frame for the function may
modify the MTE tags of the stack space it uses.  The assembler emits
char 'G' in the CIE augmentation string to indicate the same.

TBD:
  - Whats that comment style in c-aarch64.texi ?

ChangeLog:

        * gas/config/tc-aarch64.c (s_aarch64_mte_tagged_frame): New
definition.
        * gas/config/tc-aarch64.h (tc_fde_entry_extras): Add
memtag_frame_p.
        (tc_cie_entry_extras): Likewise.
        (tc_fde_entry_init_extra): Likewise.
        (tc_cie_fde_equivalent_extra): Likewise.
        (tc_cie_entry_init_extra): Likewise.
        * gas/doc/c-aarch64.texi: Add documentation for
.cfi_mte_tagged_frame directive.
        * gas/testsuite/gas/aarch64/mte_tagged_stack.d: New test.
        * gas/testsuite/gas/aarch64/mte_tagged_stack.s: New test.
gas/config/tc-aarch64.c
gas/config/tc-aarch64.h
gas/doc/c-aarch64.texi
gas/testsuite/gas/aarch64/mte_tagged_stack.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/mte_tagged_stack.s [new file with mode: 0644]