Browse Source

* dw2gencfi.c (output_cfi_insn): Initialize fragment before rs_cfa

to DW_CFA_advance_loc4.

	* gas/cfi/cfi-common-7.d: New test.
	* gas/cfi/cfi-common-7.s: New.
	* gas/cfi/cfi.exp: Add cfi-common-7 test.
cgen-1_1-branch
Jakub Jelinek 17 years ago
parent
commit
1fbfe7852a
  1. 6
      gas/ChangeLog
  2. 5
      gas/dw2gencfi.c
  3. 7
      gas/testsuite/ChangeLog
  4. 22
      gas/testsuite/gas/cfi/cfi-common-7.d
  5. 6
      gas/testsuite/gas/cfi/cfi-common-7.s
  6. 1
      gas/testsuite/gas/cfi/cfi.exp

6
gas/ChangeLog

@ -1,3 +1,9 @@
2009-06-09 Jakub Jelinek <jakub@redhat.com>
PR gas/10255
* dw2gencfi.c (output_cfi_insn): Initialize fragment before rs_cfa
to DW_CFA_advance_loc4.
2009-06-08 Dave Korn <dave.korn.cygwin@gmail.com>
PR gas/977

5
gas/dw2gencfi.c

@ -1,5 +1,6 @@
/* dw2gencfi.c - Support for generating Dwarf2 CFI information.
Copyright 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Contributed by Michal Ludvig <mludvig@suse.cz>
This file is part of GAS, the GNU Assembler.
@ -1001,7 +1002,7 @@ output_cfi_insn (struct cfi_insn_data *insn)
is already allocated to the frag. This comes from the way
that it scans the .eh_frame section looking first for the
.byte DW_CFA_advance_loc4. */
frag_more (1);
*frag_more (1) = DW_CFA_advance_loc4;
frag_var (rs_cfa, 4, 0, DWARF2_LINE_MIN_INSN_LENGTH << 3,
make_expr_symbol (&exp), frag_now_fix () - 1,

7
gas/testsuite/ChangeLog

@ -1,3 +1,10 @@
2009-06-09 Jakub Jelinek <jakub@redhat.com>
PR gas/10255
* gas/cfi/cfi-common-7.d: New test.
* gas/cfi/cfi-common-7.s: New.
* gas/cfi/cfi.exp: Add cfi-common-7 test.
2009-06-08 Dave Korn <dave.korn.cygwin@gmail.com>
* gas/i386/jump.d: Tweak patterns to also match PE platform output.

22
gas/testsuite/gas/cfi/cfi-common-7.d

@ -0,0 +1,22 @@
#readelf: -wf
#name: CFI common 7
Contents of the .eh_frame section:
00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: .*
Data alignment factor: .*
Return address column: .*
Augmentation data: [01]b
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
00000014 000000(1c|20) 00000018 FDE cie=00000000 pc=.*
DW_CFA_advance_loc: 16 to .*
DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
DW_CFA_advance_loc4: 75031 to .*
DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 64
#...

6
gas/testsuite/gas/cfi/cfi-common-7.s

@ -0,0 +1,6 @@
.cfi_startproc simple
.skip 16
.cfi_def_cfa 0, 16
.skip 75031
.cfi_def_cfa 0, 64
.cfi_endproc

1
gas/testsuite/gas/cfi/cfi.exp

@ -89,6 +89,7 @@ if { ![istarget "hppa64*-*"] } then {
run_dump_test "cfi-common-3"
run_dump_test "cfi-common-4"
run_dump_test "cfi-common-5"
run_dump_test "cfi-common-7"
}
# MIPS doesn't support PC relative cfi directives.

Loading…
Cancel
Save