7db94aa6ea
Rebase to GNU Binutils 2.42. - Retire: binutils-BPF-reloc-4.patch - Retire: binutils-Intel-APX-part-1.patch - Retire: binutils-aarch64-big-bti-programs.patch - Retire: binutils-big-merge.patch - Retire: binutils-demangler-updates.patch - Retire: binutils-execstack-error.patch - Retire: binutils-gold-powerpc.patch - Retire: binutils-handle-corrupt-version-info.patch - Retire: binutils-ppc-dt_relr-relocs.patch - Retire: binutils-riscv-SUB_ULEB128.patch - Retire: binutils-x86-64-v3.patch - Retire: i686-AVX10.1-part-1.patch - Retire: i686-AVX10.1-part-2.patch - Retire: i686-AVX10.1-part-3.patch - Retire: i686-AVX10.1-part-4.patch - Retire: i686-AVX10.1-part-5.patch - Retire: i686-AVX10.1-part-6.patch
67 lines
2.5 KiB
Diff
67 lines
2.5 KiB
Diff
diff -rupN binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l
|
|
--- binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l 1970-01-01 01:00:00.000000000 +0100
|
|
+++ binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.l 2024-02-07 11:08:34.164238910 +0000
|
|
@@ -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 -rupN binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s
|
|
--- binutils.orig/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s 1970-01-01 01:00:00.000000000 +0100
|
|
+++ binutils-2.42/gas/testsuite/gas/scfi/x86_64/ginsn-cofi-1.s 2024-02-07 11:08:34.164238910 +0000
|
|
@@ -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
|