diff options
author | Indu Bhagat <indu.bhagat@oracle.com> | 2024-01-30 00:35:04 -0800 |
---|---|---|
committer | Indu Bhagat <indu.bhagat@oracle.com> | 2024-01-30 00:41:37 -0800 |
commit | 48942a586ebc056bd059d3f63a5eed3a2fa46ab3 (patch) | |
tree | e95860e1b3bf43dffb66d9f5d84cc1cbe0f3c650 | |
parent | 7586594c484bbc2a1fb472b988c7e9cbc08c8416 (diff) | |
download | fsf-binutils-gdb-48942a586ebc056bd059d3f63a5eed3a2fa46ab3.zip fsf-binutils-gdb-48942a586ebc056bd059d3f63a5eed3a2fa46ab3.tar.gz fsf-binutils-gdb-48942a586ebc056bd059d3f63a5eed3a2fa46ab3.tar.bz2 |
gas: scfi: add missing ginsn-cofi-1 testcase files
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.
-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 0000000..ab6b50d --- /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 0000000..0a63910 --- /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 |