diff options
author | Richard Henderson <rth@redhat.com> | 2003-05-27 16:52:49 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2003-05-27 16:52:49 +0000 |
commit | a4447b93785ea7fd86d583bb892f3cb5f6db71d3 (patch) | |
tree | d33b904ec977b697a1bfcf3c0bc0897ed800edfa /gas/testsuite | |
parent | b7d6ed970a277da806f01110c032f0e19eab2368 (diff) | |
download | fsf-binutils-gdb-a4447b93785ea7fd86d583bb892f3cb5f6db71d3.zip fsf-binutils-gdb-a4447b93785ea7fd86d583bb892f3cb5f6db71d3.tar.gz fsf-binutils-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/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-i386-2.d | 26 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-i386-2.s | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-i386.d | 46 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-x86_64.d | 45 |
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 |