aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-05-27 16:52:49 +0000
committerRichard Henderson <rth@redhat.com>2003-05-27 16:52:49 +0000
commita4447b93785ea7fd86d583bb892f3cb5f6db71d3 (patch)
treed33b904ec977b697a1bfcf3c0bc0897ed800edfa /gas/testsuite
parentb7d6ed970a277da806f01110c032f0e19eab2368 (diff)
downloadgdb-a4447b93785ea7fd86d583bb892f3cb5f6db71d3.zip
gdb-a4447b93785ea7fd86d583bb892f3cb5f6db71d3.tar.gz
gdb-a4447b93785ea7fd86d583bb892f3cb5f6db71d3.tar.bz2
* dw2gencfi.c, dw2gencfi.h: Rewrite from scratch.
* as.c (main): Always call cfi_finish. * config/tc-i386.c (x86_dwarf2_return_column): New. (x86_cie_data_alignment): New. (md_begin): Set them. (tc_x86_cfi_init): Remove. (tc_x86_regname_to_dw2regnum): Fix 32-bit register numbers; return int, not unsigned long; don't as_bad here. (tc_x86_frame_initial_instructions): Streamline; use updated api. * config/tc-i386.h (tc_cfi_init): Remove. (DWARF2_DEFAULT_RETURN_COLUMN): New. (DWARF2_CIE_DATA_ALIGNMENT): New. * gas/cfi/cfi-i386.d: Update for dw2gencfi rewrite. * gas/cfi/cfi-x86_64.d: Likewise. * gas/cfi/cfi-i386-2.d: New. * gas/cfi/cfi-i386-2.s: New.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/cfi/cfi-i386-2.d26
-rw-r--r--gas/testsuite/gas/cfi/cfi-i386-2.s17
-rw-r--r--gas/testsuite/gas/cfi/cfi-i386.d46
-rw-r--r--gas/testsuite/gas/cfi/cfi-x86_64.d45
5 files changed, 85 insertions, 56 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index ec0e1e8..5a7cbe0 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2003-05-27 Richard Henderson <rth@redhat.com>
+
+ * gas/cfi/cfi-i386.d: Update for dw2gencfi rewrite.
+ * gas/cfi/cfi-x86_64.d: Likewise.
+ * gas/cfi/cfi-i386-2.d: New.
+ * gas/cfi/cfi-i386-2.s: New.
+
2003-05-23 Jason Eckhardt <jle@rice.edu>
* gas/i860/xp.s: New file.
diff --git a/gas/testsuite/gas/cfi/cfi-i386-2.d b/gas/testsuite/gas/cfi/cfi-i386-2.d
new file mode 100644
index 0000000..a42e088
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-i386-2.d
@@ -0,0 +1,26 @@
+#readelf: -wf
+#name: CFI on i386, 2
+The section .eh_frame contains:
+
+00000000 00000014 00000000 CIE
+ Version: 1
+ Augmentation: "zR"
+ Code alignment factor: 1
+ Data alignment factor: -4
+ Return address column: 8
+ Augmentation data: 1b
+
+ DW_CFA_def_cfa: r4 ofs 4
+ DW_CFA_offset: r8 at cfa-4
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000018 00000018 0000001c FDE cie=00000000 pc=00000020..00000029
+ DW_CFA_advance_loc: 1 to 00000021
+ DW_CFA_def_cfa_offset: 8
+ DW_CFA_offset: r5 at cfa-8
+ DW_CFA_advance_loc: 4 to 00000025
+ DW_CFA_offset: r3 at cfa-12
+ DW_CFA_def_cfa_offset: 12
+ DW_CFA_nop
+
diff --git a/gas/testsuite/gas/cfi/cfi-i386-2.s b/gas/testsuite/gas/cfi/cfi-i386-2.s
new file mode 100644
index 0000000..811220b
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-i386-2.s
@@ -0,0 +1,17 @@
+ .text
+ .globl foo
+ .type foo,@function
+ .cfi_startproc
+foo:
+ push %ebp
+ .cfi_adjust_cfa_offset 4
+ .cfi_offset %ebp, -8
+ .align 4
+ push %ebx
+ .cfi_offset %ebx, -12
+ .cfi_adjust_cfa_offset 4
+ nop
+ pop %ebx
+ pop %ebp
+ ret
+ .cfi_endproc
diff --git a/gas/testsuite/gas/cfi/cfi-i386.d b/gas/testsuite/gas/cfi/cfi-i386.d
index 6253066..471f5e1 100644
--- a/gas/testsuite/gas/cfi/cfi-i386.d
+++ b/gas/testsuite/gas/cfi/cfi-i386.d
@@ -2,50 +2,46 @@
#name: CFI on i386
The section .eh_frame contains:
-00000000 00000010 00000000 CIE
+00000000 00000014 00000000 CIE
Version: 1
- Augmentation: ""
+ Augmentation: "zR"
Code alignment factor: 1
Data alignment factor: -4
Return address column: 8
+ Augmentation data: 1b
- DW_CFA_def_cfa: r7 ofs 4
+ DW_CFA_def_cfa: r4 ofs 4
DW_CFA_offset: r8 at cfa-4
DW_CFA_nop
DW_CFA_nop
-00000014 00000014 00000018 FDE cie=00000000 pc=00000000..00000012
- DW_CFA_advance_loc: 6 to 00000006
+00000018 00000014 0000001c FDE cie=00000000 pc=00000020..00000032
+ DW_CFA_advance_loc: 6 to 00000026
DW_CFA_def_cfa_offset: 4664
- DW_CFA_advance_loc: 11 to 00000011
+ DW_CFA_advance_loc: 11 to 00000031
DW_CFA_def_cfa_offset: 4
- DW_CFA_nop
-0000002c 00000018 00000030 FDE cie=00000000 pc=00000012..0000001f
- DW_CFA_advance_loc: 1 to 00000013
+00000030 00000018 00000034 FDE cie=00000000 pc=0000004a..00000057
+ DW_CFA_advance_loc: 1 to 0000004b
DW_CFA_def_cfa_offset: 8
- DW_CFA_offset: r6 at cfa-8
- DW_CFA_advance_loc: 2 to 00000015
- DW_CFA_def_cfa_reg: r6
- DW_CFA_advance_loc: 9 to 0000001e
- DW_CFA_def_cfa_reg: r7
- DW_CFA_nop
+ DW_CFA_offset: r5 at cfa-8
+ DW_CFA_advance_loc: 2 to 0000004d
+ DW_CFA_def_cfa_reg: r5
+ DW_CFA_advance_loc: 9 to 00000056
+ DW_CFA_def_cfa_reg: r4
-00000048 00000014 0000004c FDE cie=00000000 pc=0000001f..0000002f
- DW_CFA_advance_loc: 2 to 00000021
- DW_CFA_def_cfa_reg: r1
- DW_CFA_advance_loc: 13 to 0000002e
- DW_CFA_def_cfa: r7 ofs 4
- DW_CFA_nop
+0000004c 00000014 00000050 FDE cie=00000000 pc=00000073..00000083
+ DW_CFA_advance_loc: 2 to 00000075
+ DW_CFA_def_cfa_reg: r3
+ DW_CFA_advance_loc: 13 to 00000082
+ DW_CFA_def_cfa: r4 ofs 4
-00000060 00000010 00000064 FDE cie=00000000 pc=0000002f..00000035
- DW_CFA_nop
+00000064 00000010 00000068 FDE cie=00000000 pc=0000009b..000000a1
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-00000074 00000010 00000078 FDE cie=00000000 pc=00000035..00000044
- DW_CFA_nop
+00000078 00000010 0000007c FDE cie=00000000 pc=000000b5..000000c4
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-x86_64.d b/gas/testsuite/gas/cfi/cfi-x86_64.d
index 2d47c2d..2b19641 100644
--- a/gas/testsuite/gas/cfi/cfi-x86_64.d
+++ b/gas/testsuite/gas/cfi/cfi-x86_64.d
@@ -1,68 +1,51 @@
#readelf: -wf
#name: CFI on x86-64
-
The section .eh_frame contains:
00000000 00000014 00000000 CIE
Version: 1
- Augmentation: ""
+ Augmentation: "zR"
Code alignment factor: 1
Data alignment factor: -8
Return address column: 16
+ Augmentation data: 1b
DW_CFA_def_cfa: r7 ofs 8
DW_CFA_offset: r16 at cfa-8
DW_CFA_nop
DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
-00000018 0000001c 0000001c FDE cie=00000000 pc=00000000..00000014
- DW_CFA_advance_loc: 7 to 00000007
+00000018 00000014 0000001c FDE cie=00000000 pc=00000020..00000034
+ DW_CFA_advance_loc: 7 to 00000027
DW_CFA_def_cfa_offset: 4668
- DW_CFA_advance_loc: 12 to 00000013
+ DW_CFA_advance_loc: 12 to 00000033
DW_CFA_def_cfa_offset: 8
- DW_CFA_nop
-00000038 00000024 0000003c FDE cie=00000000 pc=00000000..0000000f
- DW_CFA_advance_loc: 1 to 00000001
+00000030 0000001c 00000034 FDE cie=00000000 pc=00000038..00000047
+ DW_CFA_advance_loc: 1 to 00000039
DW_CFA_def_cfa_offset: 16
DW_CFA_offset: r6 at cfa-16
- DW_CFA_advance_loc: 3 to 00000004
+ DW_CFA_advance_loc: 3 to 0000003c
DW_CFA_def_cfa_reg: r6
- DW_CFA_advance_loc: 10 to 0000000e
+ DW_CFA_advance_loc: 10 to 00000046
DW_CFA_def_cfa: r7 ofs 8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
- DW_CFA_nop
-00000060 0000001c 00000064 FDE cie=00000000 pc=00000000..00000013
- DW_CFA_advance_loc: 3 to 00000003
+00000050 00000014 00000054 FDE cie=00000000 pc=00000058..0000006b
+ DW_CFA_advance_loc: 3 to 0000005b
DW_CFA_def_cfa_reg: r12
- DW_CFA_advance_loc: 15 to 00000012
+ DW_CFA_advance_loc: 15 to 0000006a
DW_CFA_def_cfa_reg: r7
DW_CFA_nop
- DW_CFA_nop
-00000080 0000001c 00000084 FDE cie=00000000 pc=00000000..00000006
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
+00000068 00000010 0000006c FDE cie=00000000 pc=00000070..00000076
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000000a0 0000001c 000000a4 FDE cie=00000000 pc=00000000..00000012
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
+0000007c 00000010 00000080 FDE cie=00000000 pc=00000084..00000096
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop