diff options
author | 2024-01-30 00:35:04 -0800 | |
---|---|---|
committer | 2024-01-30 17:29:04 +0100 | |
commit | d1722d7b99981639407eeb5837b8faec8e2cb5bd (patch) | |
tree | c62bbff9937ccc0687ef76cd1daae01e237b027a | |
parent | PR31314, chew crashing on use of uninitialized value (diff) | |
download | binutils-gdb-d1722d7b99981639407eeb5837b8faec8e2cb5bd.tar.gz binutils-gdb-d1722d7b99981639407eeb5837b8faec8e2cb5bd.tar.bz2 binutils-gdb-d1722d7b99981639407eeb5837b8faec8e2cb5bd.zip |
gas: scfi: add missing ginsn-cofi-1 testcase filesgentoo/binutils-2.42-2
Previous commit a58dc5427f0 intended to bring the following two commits
from master branch:
91cdbed4d7b gas: scfi: untraceable control flow should be a hard error
16cbeae1b27 x86: testsuite: scfi: adjust COFI testcase
But missed adding the testcase files. Fix the failure by adding the
missing files.
gas/testsuite/
* gas/scfi/x86_64/ginsn-cofi-1.l: New test.
* gas/scfi/x86_64/ginsn-cofi-1.s: Likewise.
(cherry picked from commit 48942a586ebc056bd059d3f63a5eed3a2fa46ab3)
-rw-r--r-- | gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l | 38 | ||||
-rw-r--r-- | gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s | 20 |
2 files changed, 58 insertions, 0 deletions
diff --git a/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l b/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l new file mode 100644 index 00000000000..ab6b50d47e8 --- /dev/null +++ b/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l @@ -0,0 +1,38 @@ +.*: Assembler messages: +.*:20: Error: untraceable control flow for func 'foo' +GAS LISTING .* + + + 1 # Testcase with a variety of "change of flow instructions" + 2 # + 3 # This test does not have much going on wrt synthesis of CFI; + 4 # it just aims to ensure x8_64 -> ginsn decoding behaves + 5 # gracefully for these "change of flow instructions" + 6 .text + 7 .globl foo + 8 .type foo, @function + 8 ginsn: SYM FUNC_BEGIN + 9 foo: + 9 ginsn: SYM foo + 10 \?\?\?\? 4801D0 addq %rdx, %rax + 10 ginsn: ADD %r1, %r0, %r0 + 11 \?\?\?\? E200 loop foo + 11 ginsn: JCC + 12 \?\?\?\? 3EFFE0 notrack jmp \*%rax + 12 ginsn: JMP %r0, + 13 \?\?\?\? 41FFD0 call \*%r8 + 13 ginsn: CALL + 14 \?\?\?\? 67E305 jecxz .L179 + 14 ginsn: JCC + 15 \?\?\?\? FF6730 jmp \*48\(%rdi\) + 15 ginsn: JMP %r5, + 16 \?\?\?\? 7000 jo .L179 + 16 ginsn: JCC + 17 .L179: + 17 ginsn: SYM .L179 + 18 \?\?\?\? C3 ret + 18 ginsn: RET + 19 .LFE0: + 19 ginsn: SYM .LFE0 + 20 .size foo, .-foo + 20 ginsn: SYM FUNC_END diff --git a/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s b/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s new file mode 100644 index 00000000000..0a63910e046 --- /dev/null +++ b/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s @@ -0,0 +1,20 @@ +# Testcase with a variety of "change of flow instructions" +# +# This test does not have much going on wrt synthesis of CFI; +# it just aims to ensure x8_64 -> ginsn decoding behaves +# gracefully for these "change of flow instructions" + .text + .globl foo + .type foo, @function +foo: + addq %rdx, %rax + loop foo + notrack jmp *%rax + call *%r8 + jecxz .L179 + jmp *48(%rdi) + jo .L179 +.L179: + ret +.LFE0: + .size foo, .-foo |