[PATCH,V4 00/14] Synthesize CFI for hand-written asm
Indu Bhagat
indu.bhagat@oracle.com
Wed Jan 3 07:15:12 GMT 2024
Hello,
This patch series adds support in GAS to synthesize CFI for hand-written
asm, acronym'd as SCFI.
Previous postings:
- RFC patch series (https://sourceware.org/pipermail/binutils/2023-September/129560.html).
- V1 (https://sourceware.org/pipermail/binutils/2023-October/130163.html)
- V2 (https://sourceware.org/pipermail/binutils/2023-October/130210.html)
- V3 (https://sourceware.org/pipermail/binutils/2023-December/131079.html)
I have addresssed the two main concerns with V3 and created the V4
series:
- The x86 backend must detect the cases when SCFI cannot be done
correctly and bail out, e.g., in case of new additions to the ISA or
unhandled instructions.
- Build failure with --target=x86_64-w64-mingw32
To aid the review process, each patch has a short summary of changes
from V2->V3, and from V3->V4.
Motivation for the patch series is to alleviate users from manually
adding the CFI directives in hand-written asm. Manually adding CFI
annotations to user input asm needs additional expertise; human-errors
are possible and indeed occur more often than one may like. These
errors, if present at the time of virtual stack unwind, lead to
unfavorable outcomes: incorrect stacktraces, program state corruption
etc.
For synthesis of CFI to work, the user input must adhere to the ABI and
the appropriate calling conventions, as GAS derives the set of
callee-saved registers based on that contract. The SCFI implementation
is based on some heuristics/rules, please see the patch "gas: synthesize
CFI for hand-written asm" for more details. Further, at the moment,
SCFI does not help in cases when the control flow graph of the input asm
cannot be generated (e.g., in case of indirect jumps, jump tables).
Thanks,
Indu Bhagat (14):
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[=all,none]
gas: scfidw2gen: new functionality to prepare for SCFI
opcodes: i386: new marker for insns that implicitly update stack
pointer
gas: synthesize CFI for hand-written asm
gas: doc: update documentation for the new listing option
i386-reg.tbl: Add a comment to reflect dependency on ordering
gas: testsuite: add a x86_64 testsuite for SCFI
gas/NEWS: announce the new SCFI command line option
gas/Makefile.am | 6 +
gas/Makefile.in | 18 +-
gas/NEWS | 2 +
gas/as.c | 29 +-
gas/as.h | 8 +
gas/config/obj-elf.c | 16 +
gas/config/tc-i386.c | 996 ++
gas/config/tc-i386.h | 21 +
gas/doc/as.texi | 28 +-
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 | 17 +
gas/testsuite/gas/scfi/x86_64/ginsn-add-1.l | 47 +
gas/testsuite/gas/scfi/x86_64/ginsn-add-1.s | 26 +
.../gas/scfi/x86_64/ginsn-dw2-regnum-1.l | 55 +
.../gas/scfi/x86_64/ginsn-dw2-regnum-1.s | 28 +
gas/testsuite/gas/scfi/x86_64/ginsn-pop-1.l | 30 +
gas/testsuite/gas/scfi/x86_64/ginsn-pop-1.s | 13 +
gas/testsuite/gas/scfi/x86_64/ginsn-push-1.l | 33 +
gas/testsuite/gas/scfi/x86_64/ginsn-push-1.s | 14 +
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 | 41 +
.../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 | 41 +
.../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 | 5 +
.../gas/scfi/x86_64/scfi-unsupported-insn-1.s | 12 +
gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp | 113 +
opcodes/i386-gen.c | 1 +
opcodes/i386-opc.h | 4 +
opcodes/i386-opc.tbl | 104 +-
opcodes/i386-reg.tbl | 3 +
opcodes/i386-tbl.h | 11655 ++++++++++------
156 files changed, 15255 insertions(+), 3978 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
--
2.41.0
More information about the Binutils
mailing list