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> 2009-06-08 Dave Korn <dave.korn.cygwin@gmail.com>
PR gas/977 PR gas/977

5
gas/dw2gencfi.c

@ -1,5 +1,6 @@
/* dw2gencfi.c - Support for generating Dwarf2 CFI information. /* 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> Contributed by Michal Ludvig <mludvig@suse.cz>
This file is part of GAS, the GNU Assembler. 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 is already allocated to the frag. This comes from the way
that it scans the .eh_frame section looking first for the that it scans the .eh_frame section looking first for the
.byte DW_CFA_advance_loc4. */ .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, frag_var (rs_cfa, 4, 0, DWARF2_LINE_MIN_INSN_LENGTH << 3,
make_expr_symbol (&exp), frag_now_fix () - 1, 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> 2009-06-08 Dave Korn <dave.korn.cygwin@gmail.com>
* gas/i386/jump.d: Tweak patterns to also match PE platform output. * 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-3"
run_dump_test "cfi-common-4" run_dump_test "cfi-common-4"
run_dump_test "cfi-common-5" run_dump_test "cfi-common-5"
run_dump_test "cfi-common-7"
} }
# MIPS doesn't support PC relative cfi directives. # MIPS doesn't support PC relative cfi directives.

Loading…
Cancel
Save