aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-10-25 12:26:04 +0000
committerNick Clifton <nickc@redhat.com>2004-10-25 12:26:04 +0000
commita394c00fe601094be18607099c3e92f0c9ea783d (patch)
tree02d9ecd4a25731c230386c41de0bcd34be863d01 /gas/testsuite
parentd79b3d5057332a6e4181cab6e53d7371612c66a7 (diff)
downloadfsf-binutils-gdb-a394c00fe601094be18607099c3e92f0c9ea783d.zip
fsf-binutils-gdb-a394c00fe601094be18607099c3e92f0c9ea783d.tar.gz
fsf-binutils-gdb-a394c00fe601094be18607099c3e92f0c9ea783d.tar.bz2
Add ARM CFI support
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/cfi/cfi-arm-1.d27
-rw-r--r--gas/testsuite/gas/cfi/cfi-arm-1.s23
-rw-r--r--gas/testsuite/gas/cfi/cfi.exp3
4 files changed, 58 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index c1b9668..1639d14 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-23 Daniel Jacobowitz <dan@debian.org>
+
+ * gas/cfi/cfi-arm-1.d, gas/cfi/cfi-arm-1.s: New files.
+ * gas/cfi/cfi.exp: Run cfi-arm-1 test.
+
2004-10-21 Tomer Levi <Tomer.Levi@nsc.com>
* gas/crx/cop_insn.s: Reverse operands order in store co-processor
diff --git a/gas/testsuite/gas/cfi/cfi-arm-1.d b/gas/testsuite/gas/cfi/cfi-arm-1.d
new file mode 100644
index 0000000..8474e20
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-arm-1.d
@@ -0,0 +1,27 @@
+#readelf: -wf
+#name: CFI on ARM
+
+The section .eh_frame contains:
+
+00000000 00000010 00000000 CIE
+ Version: 1
+ Augmentation: "zR"
+ Code alignment factor: 2
+ Data alignment factor: -4
+ Return address column: 14
+ Augmentation data: 1b
+
+ DW_CFA_def_cfa: r13 ofs 0
+
+00000014 00000020 00000018 FDE cie=00000000 pc=00000000..00000018
+ DW_CFA_advance_loc: 4 to 00000004
+ DW_CFA_def_cfa: r12 ofs 0
+ DW_CFA_advance_loc: 4 to 00000008
+ DW_CFA_def_cfa: r13 ofs 16
+ DW_CFA_advance_loc: 4 to 0000000c
+ DW_CFA_def_cfa_offset: 32
+ DW_CFA_offset: r11 at cfa-32
+ DW_CFA_offset: r14 at cfa-24
+ DW_CFA_advance_loc: 4 to 00000010
+ DW_CFA_def_cfa: r11 ofs 16
+
diff --git a/gas/testsuite/gas/cfi/cfi-arm-1.s b/gas/testsuite/gas/cfi/cfi-arm-1.s
new file mode 100644
index 0000000..8c9d917
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-arm-1.s
@@ -0,0 +1,23 @@
+#; $ as -o test.o gas-cfi-test.s && gcc -nostdlib -o test test.o
+
+ .file "a.c"
+ .text
+ .align 2
+ .global foo
+ .type foo, %function
+foo:
+ .cfi_startproc
+ mov ip, sp
+ .cfi_def_cfa ip, 0
+ stmfd sp!, {r0, r1, r2, r3}
+ .cfi_def_cfa sp, 16
+ stmfd sp!, {fp, ip, lr, pc}
+ .cfi_adjust_cfa_offset 16
+ .cfi_rel_offset r11, 0
+ .cfi_rel_offset lr, 8
+ sub fp, ip, #20
+ .cfi_def_cfa fp, 16
+ nop
+ ldmea fp, {fp, sp, pc}
+ .cfi_endproc
+ .size foo, .-foo
diff --git a/gas/testsuite/gas/cfi/cfi.exp b/gas/testsuite/gas/cfi/cfi.exp
index a1dc006..21483b1 100644
--- a/gas/testsuite/gas/cfi/cfi.exp
+++ b/gas/testsuite/gas/cfi/cfi.exp
@@ -56,6 +56,9 @@ if [istarget "x86_64-*"] then {
run_dump_test "cfi-sh-1"
}
+} elseif { [istarget "arm*-*"] || [istarget "xscale*-*"] } then {
+ run_dump_test "cfi-arm-1"
+
} else {
return
}