aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-05-30 03:01:12 +0000
committerRichard Henderson <rth@redhat.com>2003-05-30 03:01:12 +0000
commitf37f01cff7bc48542f62a22e47c3e7453b591f13 (patch)
tree2b508a7cc60c86b67a5869c3b768a5afffafe705 /gas/testsuite
parentacf4b81681d1c24bef20cc9fd737fc356b77ed7f (diff)
downloadgdb-f37f01cff7bc48542f62a22e47c3e7453b591f13.zip
gdb-f37f01cff7bc48542f62a22e47c3e7453b591f13.tar.gz
gdb-f37f01cff7bc48542f62a22e47c3e7453b591f13.tar.bz2
* config/tc-alpha.c (alpha_cur_ent_sym): Remove.
(all_frame_data, plast_frame_data, cur_frame_data): New. (s_alpha_ent): Record data for dwarf2 cfi. (s_alpha_end, s_alpha_mask, s_alpha_frame, s_alpha_prologue): Likewise.[ (alpha_elf_md_end): Emit dwarf2 cfi for ecoff unwind directives. * config/tc-alpha.h (md_end): New. (DWARF2_DEFAULT_RETURN_COLUMN): New. (DWARF2_CIE_DATA_ALIGNMENT): New. * gas/alpha/elf-reloc-8.d: Add .eh_frame relocs. * gas/cfi/cfi-alpha-1.d: New. * gas/cfi/cfi-alpha-1.s: New. * gas/cfi/cfi.exp: Run it.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/alpha/elf-reloc-8.d21
-rw-r--r--gas/testsuite/gas/cfi/cfi-alpha-1.d26
-rw-r--r--gas/testsuite/gas/cfi/cfi-alpha-1.s28
-rw-r--r--gas/testsuite/gas/cfi/cfi.exp12
5 files changed, 94 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 5a7cbe0..11f8745 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2003-05-29 Richard Henderson <rth@redhat.com>
+
+ * gas/alpha/elf-reloc-8.d: Add .eh_frame relocs.
+ * gas/cfi/cfi-alpha-1.d: New.
+ * gas/cfi/cfi-alpha-1.s: New.
+ * gas/cfi/cfi.exp: Run it.
+
2003-05-27 Richard Henderson <rth@redhat.com>
* gas/cfi/cfi-i386.d: Update for dw2gencfi rewrite.
diff --git a/gas/testsuite/gas/alpha/elf-reloc-8.d b/gas/testsuite/gas/alpha/elf-reloc-8.d
index e95e8ed..de5e0e8 100644
--- a/gas/testsuite/gas/alpha/elf-reloc-8.d
+++ b/gas/testsuite/gas/alpha/elf-reloc-8.d
@@ -307,3 +307,24 @@ OFFSET *TYPE *VALUE
0*0000048 REFQUAD \.init\.text\+0x0*00005f0
0*0000050 REFQUAD \.init\.data\+0x0*0000029
0*0000058 REFQUAD \.init\.text\+0x0*0000610
+
+
+RELOCATION RECORDS FOR \[\.eh_frame\]:
+OFFSET *TYPE *VALUE
+0*000001c SREL32 \.init\.text\+0xf*ffffff8
+0*0000034 SREL32 \.init\.text\+0x0*0000048
+0*0000048 SREL32 \.init\.text\+0x0*0000078
+0*000005c SREL32 \.init\.text\+0x0*00000a8
+0*0000080 SREL32 \.init\.text\+0x0*00002b8
+0*00000a0 SREL32 \.init\.text\+0x0*0000598
+0*00000b8 SREL32 \.init\.text\+0x0*00005e8
+0*00000cc SREL32 \.init\.text\+0x0*0000608
+0*00000e0 SREL32 \.init\.text\+0x0*0000628
+0*00000fc SREL32 \.init\.text\+0x0*0000748
+0*0000120 SREL32 \.init\.text\+0x0*0000988
+0*000013c SREL32 \.init\.text\+0x0*0000a08
+0*0000150 SREL32 \.init\.text\+0x0*0000a18
+0*0000164 SREL32 \.init\.text\+0x0*0000a38
+0*000017c SREL32 \.init\.text\+0x0*0000a88
+0*0000190 SREL32 \.init\.text\+0x0*0000a98
+0*00001a4 SREL32 \.text\+0xf*ffffff8
diff --git a/gas/testsuite/gas/cfi/cfi-alpha-1.d b/gas/testsuite/gas/cfi/cfi-alpha-1.d
new file mode 100644
index 0000000..32c4307
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-alpha-1.d
@@ -0,0 +1,26 @@
+#readelf: -wf
+#name: CFI on alpha
+The section .eh_frame contains:
+
+00000000 00000010 00000000 CIE
+ Version: 1
+ Augmentation: "zR"
+ Code alignment factor: 4
+ Data alignment factor: -8
+ Return address column: 26
+ Augmentation data: 1b
+
+ DW_CFA_def_cfa_reg: r30
+ DW_CFA_nop
+
+00000014 0000001c 00000018 FDE cie=00000000 pc=0000001c..00000050
+ DW_CFA_advance_loc: 24 to 00000034
+ DW_CFA_def_cfa: r15 ofs 32
+ DW_CFA_offset: r26 at cfa-32
+ DW_CFA_offset: r9 at cfa-24
+ DW_CFA_offset: r15 at cfa-16
+ DW_CFA_offset: r34 at cfa-8
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
diff --git a/gas/testsuite/gas/cfi/cfi-alpha-1.s b/gas/testsuite/gas/cfi/cfi-alpha-1.s
new file mode 100644
index 0000000..34e28ce
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-alpha-1.s
@@ -0,0 +1,28 @@
+ .file 1 "z.c"
+ .set noat
+ .set noreorder
+.text
+ .align 4
+ .globl f
+ .ent f
+$f..ng:
+f:
+ .frame $15,32,$26,0
+ .mask 0x4008200,-32
+ .fmask 0x4,-8
+ lda $30,-32($30)
+ stq $26,0($30)
+ stq $9,8($30)
+ stq $15,16($30)
+ stt $f2,24($30)
+ mov $30,$15
+ .prologue 0
+ mov $15,$30
+ ldq $26,0($30)
+ ldq $9,8($30)
+ ldt $f2,24($30)
+ ldq $15,16($30)
+ lda $30,32($30)
+ ret $31,($26),1
+ .end f
+ .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.1)"
diff --git a/gas/testsuite/gas/cfi/cfi.exp b/gas/testsuite/gas/cfi/cfi.exp
index 4d1b95d..d52803f 100644
--- a/gas/testsuite/gas/cfi/cfi.exp
+++ b/gas/testsuite/gas/cfi/cfi.exp
@@ -5,3 +5,15 @@ if [istarget "x86_64-*"] then {
if [istarget "i?86-*"] then {
run_dump_test "cfi-i386"
}
+
+if { [istarget alpha*-*-*] } then {
+
+ set elf [expr [istarget *-*-elf*] \
+ || [istarget *-*-linux*] \
+ || [istarget *-*-freebsd*] \
+ || [istarget *-*-netbsd*] ]
+
+ if $elf {
+ run_dump_test "cfi-alpha-1"
+ }
+}