[COMMITTED,00/15] Experimental support for synthesizing CFI for hand-written asm

Message ID 20240115120729.29771-1-indu.bhagat@oracle.com
Headers
Series Experimental support for synthesizing CFI for hand-written asm |

Message

Indu Bhagat Jan. 15, 2024, 12:07 p.m. UTC
  Hello,

This series is now committed to master. 

PS: I have omitted the patch "opcodes: i386: fix dw2_regnum data type in
reg_entry" from the series, as the patch is under discussion and related
changes are being suggested/discussed (x86-64: Dwarf2 register numbers
for %bnd<N>).  As APX instructions are currently omitted from SCFI,
there is no hard depdendency yet on this patch for SCFI.

Thanks
Indu Bhagat (15):
  gas: dw2gencfi: minor rejig for cfi_sections_set and all_cfi_sections
  gas: dw2gencfi: use all_cfi_sections instead of cfi_sections
  gas: dw2gencfi: expose a new cfi_set_last_fde API
  gas: dw2gencfi: move some tc_* defines to the header file
  gas: dw2gencfi: expose dot_cfi_sections for scfidw2gen
  gas: dw2gencfi: externalize the all_cfi_sections
  gas: add new command line option --scfi=experimental
  gas: scfidw2gen: new functionality to prepare for SCFI
  opcodes: gas: x86: define and use Rex2 as attribute not constraint
  opcodes: x86: new marker for insns that implicitly update stack
    pointer
  gas: x86: synthesize CFI for hand-written asm
  gas: doc: update documentation for the new listing option
  opcodes: i386-reg.tbl: Add a comment to reflect dependency on ordering
  gas: testsuite: add an x86 testsuite for SCFI
  gas/NEWS: announce the new SCFI command line option

 gas/Makefile.am                               |     6 +
 gas/Makefile.in                               |    18 +-
 gas/NEWS                                      |     3 +
 gas/as.c                                      |    28 +-
 gas/as.h                                      |     8 +
 gas/config/obj-elf.c                          |    18 +
 gas/config/tc-i386.c                          |  1115 +-
 gas/config/tc-i386.h                          |    21 +
 gas/doc/as.texi                               |    31 +-
 gas/dw2gencfi.c                               |    45 +-
 gas/dw2gencfi.h                               |    20 +
 gas/ginsn.c                                   |  1259 ++
 gas/ginsn.h                                   |   384 +
 gas/listing.h                                 |     1 +
 gas/read.c                                    |    29 +-
 gas/scfi.c                                    |  1232 ++
 gas/scfi.h                                    |    38 +
 gas/scfidw2gen.c                              |   272 +
 gas/scfidw2gen.h                              |    35 +
 gas/subsegs.c                                 |     1 +
 gas/subsegs.h                                 |     2 +
 gas/symbols.c                                 |     3 +
 gas/testsuite/gas/scfi/README                 |    16 +
 gas/testsuite/gas/scfi/x86_64/ginsn-add-1.l   |    49 +
 gas/testsuite/gas/scfi/x86_64/ginsn-add-1.s   |    27 +
 .../gas/scfi/x86_64/ginsn-dw2-regnum-1.l      |    69 +
 .../gas/scfi/x86_64/ginsn-dw2-regnum-1.s      |    33 +
 gas/testsuite/gas/scfi/x86_64/ginsn-pop-1.l   |    41 +
 gas/testsuite/gas/scfi/x86_64/ginsn-pop-1.s   |    16 +
 gas/testsuite/gas/scfi/x86_64/ginsn-push-1.l  |    44 +
 gas/testsuite/gas/scfi/x86_64/ginsn-push-1.s  |    17 +
 gas/testsuite/gas/scfi/x86_64/scfi-add-1.d    |    26 +
 gas/testsuite/gas/scfi/x86_64/scfi-add-1.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-add-1.s    |    13 +
 gas/testsuite/gas/scfi/x86_64/scfi-add-2.d    |    37 +
 gas/testsuite/gas/scfi/x86_64/scfi-add-2.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-add-2.s    |    48 +
 .../gas/scfi/x86_64/scfi-asm-marker-1.d       |    29 +
 .../gas/scfi/x86_64/scfi-asm-marker-1.l       |     3 +
 .../gas/scfi/x86_64/scfi-asm-marker-1.s       |    27 +
 .../gas/scfi/x86_64/scfi-asm-marker-2.d       |    25 +
 .../gas/scfi/x86_64/scfi-asm-marker-2.l       |     3 +
 .../gas/scfi/x86_64/scfi-asm-marker-2.s       |    11 +
 .../gas/scfi/x86_64/scfi-asm-marker-3.d       |    32 +
 .../gas/scfi/x86_64/scfi-asm-marker-3.l       |     2 +
 .../gas/scfi/x86_64/scfi-asm-marker-3.s       |    38 +
 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.d  |    32 +
 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.l  |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.s  |    21 +
 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.d  |    58 +
 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.l  |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.s  |    52 +
 .../gas/scfi/x86_64/scfi-callee-saved-1.d     |    41 +
 .../gas/scfi/x86_64/scfi-callee-saved-1.l     |     2 +
 .../gas/scfi/x86_64/scfi-callee-saved-1.s     |    25 +
 .../gas/scfi/x86_64/scfi-callee-saved-2.d     |    42 +
 .../gas/scfi/x86_64/scfi-callee-saved-2.l     |     2 +
 .../gas/scfi/x86_64/scfi-callee-saved-2.s     |    40 +
 .../gas/scfi/x86_64/scfi-callee-saved-3.d     |    43 +
 .../gas/scfi/x86_64/scfi-callee-saved-3.l     |     3 +
 .../gas/scfi/x86_64/scfi-callee-saved-3.s     |    39 +
 .../gas/scfi/x86_64/scfi-callee-saved-4.d     |    41 +
 .../gas/scfi/x86_64/scfi-callee-saved-4.l     |     3 +
 .../gas/scfi/x86_64/scfi-callee-saved-4.s     |    55 +
 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.d    |    37 +
 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.s    |    47 +
 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.d    |    29 +
 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.s    |    21 +
 .../gas/scfi/x86_64/scfi-cfi-label-1.d        |    38 +
 .../gas/scfi/x86_64/scfi-cfi-label-1.l        |     2 +
 .../gas/scfi/x86_64/scfi-cfi-label-1.s        |    19 +
 .../gas/scfi/x86_64/scfi-cfi-sections-1.d     |    24 +
 .../gas/scfi/x86_64/scfi-cfi-sections-1.l     |     2 +
 .../gas/scfi/x86_64/scfi-cfi-sections-1.s     |    22 +
 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.d   |     5 +
 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.l   |     3 +
 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.s   |    24 +
 gas/testsuite/gas/scfi/x86_64/scfi-diag-1.l   |     4 +
 gas/testsuite/gas/scfi/x86_64/scfi-diag-1.s   |    22 +
 gas/testsuite/gas/scfi/x86_64/scfi-diag-2.l   |     4 +
 gas/testsuite/gas/scfi/x86_64/scfi-diag-2.s   |    28 +
 .../gas/scfi/x86_64/scfi-dyn-stack-1.d        |    24 +
 .../gas/scfi/x86_64/scfi-dyn-stack-1.l        |     2 +
 .../gas/scfi/x86_64/scfi-dyn-stack-1.s        |    50 +
 gas/testsuite/gas/scfi/x86_64/scfi-enter-1.d  |    36 +
 gas/testsuite/gas/scfi/x86_64/scfi-enter-1.l  |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-enter-1.s  |    24 +
 .../gas/scfi/x86_64/scfi-fp-diag-2.l          |     3 +
 .../gas/scfi/x86_64/scfi-fp-diag-2.s          |    55 +
 .../gas/scfi/x86_64/scfi-indirect-mov-1.d     |    52 +
 .../gas/scfi/x86_64/scfi-indirect-mov-1.l     |     2 +
 .../gas/scfi/x86_64/scfi-indirect-mov-1.s     |    48 +
 .../gas/scfi/x86_64/scfi-indirect-mov-2.d     |    42 +
 .../gas/scfi/x86_64/scfi-indirect-mov-2.l     |     2 +
 .../gas/scfi/x86_64/scfi-indirect-mov-2.s     |    38 +
 .../gas/scfi/x86_64/scfi-indirect-mov-3.d     |    42 +
 .../gas/scfi/x86_64/scfi-indirect-mov-3.l     |     2 +
 .../gas/scfi/x86_64/scfi-indirect-mov-3.s     |    38 +
 .../gas/scfi/x86_64/scfi-indirect-mov-4.d     |    64 +
 .../gas/scfi/x86_64/scfi-indirect-mov-4.l     |     3 +
 .../gas/scfi/x86_64/scfi-indirect-mov-4.s     |    68 +
 .../gas/scfi/x86_64/scfi-indirect-mov-5.s     |    35 +
 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.d    |    38 +
 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.s    |    39 +
 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.d  |    37 +
 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.l  |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.s  |    25 +
 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.d  |    36 +
 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.l  |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.s  |    23 +
 .../gas/scfi/x86_64/scfi-pushsection-1.d      |    43 +
 .../gas/scfi/x86_64/scfi-pushsection-1.l      |     2 +
 .../gas/scfi/x86_64/scfi-pushsection-1.s      |    40 +
 .../gas/scfi/x86_64/scfi-pushsection-2.d      |    40 +
 .../gas/scfi/x86_64/scfi-pushsection-2.l      |     2 +
 .../gas/scfi/x86_64/scfi-pushsection-2.s      |    40 +
 .../gas/scfi/x86_64/scfi-selfalign-func-1.d   |    32 +
 .../gas/scfi/x86_64/scfi-selfalign-func-1.l   |     2 +
 .../gas/scfi/x86_64/scfi-selfalign-func-1.s   |    36 +
 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.d |    27 +
 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.l |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.s |    15 +
 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.d |    31 +
 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.l |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.s |    16 +
 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.d    |    26 +
 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.s    |    12 +
 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.d    |    32 +
 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.l    |     2 +
 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.s    |    29 +
 .../gas/scfi/x86_64/scfi-unsupported-1.l      |     2 +
 .../gas/scfi/x86_64/scfi-unsupported-1.s      |     9 +
 .../gas/scfi/x86_64/scfi-unsupported-2.l      |     3 +
 .../gas/scfi/x86_64/scfi-unsupported-2.s      |    13 +
 .../gas/scfi/x86_64/scfi-unsupported-3.l      |     3 +
 .../gas/scfi/x86_64/scfi-unsupported-3.s      |    13 +
 .../gas/scfi/x86_64/scfi-unsupported-4.l      |     4 +
 .../gas/scfi/x86_64/scfi-unsupported-4.s      |    22 +
 .../gas/scfi/x86_64/scfi-unsupported-cfg-1.l  |     3 +
 .../gas/scfi/x86_64/scfi-unsupported-cfg-1.s  |    52 +
 .../gas/scfi/x86_64/scfi-unsupported-cfg-2.l  |     4 +
 .../gas/scfi/x86_64/scfi-unsupported-cfg-2.s  |    14 +
 .../gas/scfi/x86_64/scfi-unsupported-drap-1.l |     4 +
 .../gas/scfi/x86_64/scfi-unsupported-drap-1.s |    75 +
 .../gas/scfi/x86_64/scfi-unsupported-insn-1.l |     7 +
 .../gas/scfi/x86_64/scfi-unsupported-insn-1.s |    16 +
 gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp |   113 +
 opcodes/i386-gen.c                            |     1 +
 opcodes/i386-opc.h                            |     8 +-
 opcodes/i386-opc.tbl                          |   106 +-
 opcodes/i386-reg.tbl                          |     3 +
 opcodes/i386-tbl.h                            | 11755 ++++++++++------
 156 files changed, 15484 insertions(+), 4032 deletions(-)
 create mode 100644 gas/ginsn.c
 create mode 100644 gas/ginsn.h
 create mode 100644 gas/scfi.c
 create mode 100644 gas/scfi.h
 create mode 100644 gas/scfidw2gen.c
 create mode 100644 gas/scfidw2gen.h
 create mode 100644 gas/testsuite/gas/scfi/README
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-add-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-add-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-dw2-regnum-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-dw2-regnum-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-pop-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-pop-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-push-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/ginsn-push-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-3.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-3.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-3.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-3.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-3.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-3.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-4.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-4.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-4.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-label-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-label-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-label-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-sections-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-sections-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-sections-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-dyn-stack-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-dyn-stack-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-dyn-stack-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-enter-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-enter-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-enter-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-fp-diag-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-fp-diag-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-3.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-3.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-3.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-4.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-4.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-4.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-5.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushsection-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushsection-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushsection-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushsection-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushsection-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushsection-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-selfalign-func-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-selfalign-func-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-selfalign-func-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.d
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-3.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-3.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-4.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-4.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-cfg-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-cfg-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-cfg-2.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-cfg-2.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-drap-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-drap-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-insn-1.l
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-insn-1.s
 create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp