diff options
author | Richard Henderson <rth@redhat.com> | 2003-05-30 03:01:12 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2003-05-30 03:01:12 +0000 |
commit | f37f01cff7bc48542f62a22e47c3e7453b591f13 (patch) | |
tree | 2b508a7cc60c86b67a5869c3b768a5afffafe705 /gas/testsuite | |
parent | acf4b81681d1c24bef20cc9fd737fc356b77ed7f (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/alpha/elf-reloc-8.d | 21 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-alpha-1.d | 26 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-alpha-1.s | 28 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi.exp | 12 |
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" + } +} |