public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH,V2 0/7] Add SCFI support for aarch64
@ 2024-06-01  7:34 Indu Bhagat
  2024-06-01  7:34 ` [PATCH,V2 1/7] gas: scfi: make scfi_state_restore_reg function more precise Indu Bhagat
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Indu Bhagat @ 2024-06-01  7:34 UTC (permalink / raw)
  To: binutils; +Cc: Richard.Earnshaw, Indu Bhagat

Hi,

This patch series extends GAS support for SCFI to aarch64.

For more details on background, motivation and short notes on design,
please see the link to V1 posting:
https://sourceware.org/pipermail/binutils/2024-April/133557.html

This patch series is V2 where the following review comments have been
addressed:
  - Carve out the ginsn creation functionality in a separate file.
  - Add additional flags in aarch64 insn definition to indicate
    subclasses.

Although self-explanatory, here is the outline of the patches:
  - Patch 1 fixes a bug I ran into while testing the series.
  - Patch 2-5 are new in V2. These patches add new flags for indicating
    subclasses of instructions.
  - Patch 6 and 7 implement the aarch64 ginsn creation and SCFI
    testsuite respectively.

Thanks,
Indu Bhagat (7):
  gas: scfi: make scfi_state_restore_reg function more precise
  opcodes: aarch64: flags to denote subclasses of ldst insns
  opcodes: aarch64: allow FLAGS in CPA_INSN, CPA_SVE_INSNC
  opcodes: aarch64: flags to denote subclasses of arithmetic insns
  opcodes: aarch64: flags to denote subclasses of uncond branches
  gas: aarch64: add experimental support for SCFI
  gas: aarch64: testsuite: add new tests for SCFI

 gas/config/tc-aarch64-ginsn.c                 |  744 ++++++
 gas/config/tc-aarch64.c                       |   15 +
 gas/config/tc-aarch64.h                       |   20 +
 gas/scfi.c                                    |    9 +-
 gas/testsuite/gas/scfi/README                 |    2 +-
 .../gas/scfi/aarch64/ginsn-arith-1.l          |   35 +
 .../gas/scfi/aarch64/ginsn-arith-1.s          |   16 +
 gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.l |   30 +
 gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.s |   16 +
 gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.l |   46 +
 gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.s |   26 +
 gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.l |   24 +
 gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.s |   11 +
 .../gas/scfi/aarch64/scfi-aarch64.exp         |   64 +
 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.d    |   20 +
 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.l    |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.s    |   14 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.d   |   31 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.l   |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.s   |   46 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.d   |   40 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.l   |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.s   |   42 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.d   |   32 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.l   |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.s   |   34 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-4.d   |   41 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-4.l   |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-cfg-4.s   |   41 +
 .../gas/scfi/aarch64/scfi-cond-br-1.d         |   20 +
 .../gas/scfi/aarch64/scfi-cond-br-1.l         |    2 +
 .../gas/scfi/aarch64/scfi-cond-br-1.s         |   13 +
 gas/testsuite/gas/scfi/aarch64/scfi-diag-1.l  |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-diag-1.s  |    6 +
 gas/testsuite/gas/scfi/aarch64/scfi-diag-2.l  |    3 +
 gas/testsuite/gas/scfi/aarch64/scfi-diag-2.s  |   25 +
 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.d  |   59 +
 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.l  |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.s  |   52 +
 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.d  |   33 +
 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.l  |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.s  |   26 +
 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.d  |   39 +
 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.l  |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.s  |   37 +
 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.d  |   35 +
 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.l  |    2 +
 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.s  |   30 +
 .../gas/scfi/aarch64/scfi-unsupported-1.l     |    4 +
 .../gas/scfi/aarch64/scfi-unsupported-1.s     |   31 +
 include/opcode/aarch64.h                      |   16 +-
 opcodes/aarch64-tbl.h                         | 2190 ++++++++---------
 52 files changed, 2939 insertions(+), 1101 deletions(-)
 create mode 100644 gas/config/tc-aarch64-ginsn.c
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-arith-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-arith-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-aarch64.exp
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-4.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-4.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-4.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cond-br-1.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cond-br-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cond-br-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-2.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-2.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.d
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.s
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-unsupported-1.l
 create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-unsupported-1.s

-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-07-01  0:56 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-01  7:34 [PATCH,V2 0/7] Add SCFI support for aarch64 Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 1/7] gas: scfi: make scfi_state_restore_reg function more precise Indu Bhagat
2024-06-06 16:09   ` [PATCH, V2 " Richard Earnshaw (lists)
2024-07-01  0:56     ` Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 2/7] opcodes: aarch64: flags to denote subclasses of ldst insns Indu Bhagat
2024-06-06 16:50   ` [PATCH, V2 " Richard Earnshaw (lists)
2024-06-06 20:31     ` Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 3/7] opcodes: aarch64: allow FLAGS in CPA_INSN, CPA_SVE_INSNC Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 4/7] opcodes: aarch64: flags to denote subclasses of arithmetic insns Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 5/7] opcodes: aarch64: flags to denote subclasses of uncond branches Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 6/7] gas: aarch64: add experimental support for SCFI Indu Bhagat
2024-06-01  7:34 ` [PATCH,V2 7/7] gas: aarch64: testsuite: add new tests " Indu Bhagat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).