* 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.
This commit is contained in:
Jakub Jelinek 2009-06-09 15:12:45 +00:00
parent c2f09c751b
commit 1fbfe7852a
6 changed files with 45 additions and 2 deletions

View File

@ -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

View File

@ -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,

View File

@ -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.

View File

@ -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
#...

View File

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

View File

@ -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.