aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2008-01-16 22:20:39 +0100
committerUros Bizjak <uros@gcc.gnu.org>2008-01-16 22:20:39 +0100
commit2e2c7ce23798d0ffd6e1302e1594cf0de8b0bbe7 (patch)
tree317d217d72864c868570332e4300a1f3ccecb419
parentd49c149d623262135d31abd73b2ff294c3fb3940 (diff)
downloadgcc-2e2c7ce23798d0ffd6e1302e1594cf0de8b0bbe7.zip
gcc-2e2c7ce23798d0ffd6e1302e1594cf0de8b0bbe7.tar.gz
gcc-2e2c7ce23798d0ffd6e1302e1594cf0de8b0bbe7.tar.bz2
re PR debug/34249 (FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE)
PR debug/34249 * dwarf2out.c (output_call_frame_info): Move output of FDE initial location address to the correct place. Update copyright year. From-SVN: r131578
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c34
2 files changed, 25 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1cf3e93..9dc1e21 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR debug/34249
+ * dwarf2out.c (output_call_frame_info): Move output of FDE initial
+ location address to the correct place. Update copyright year.
+
2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
* lambda-code.c (lambda_transform_legal_p): Handle the case of
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7df2b46..280d62d 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -1,6 +1,6 @@
/* Output Dwarf2 format symbol table information from GCC.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com).
Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
Extensively modified by Jason Merrill (jason@cygnus.com).
@@ -2424,12 +2424,6 @@ output_call_frame_info (int for_eh)
if (for_eh)
{
- rtx sym_ref = gen_rtx_SYMBOL_REF (Pmode, fde->dw_fde_begin);
- SYMBOL_REF_FLAGS (sym_ref) |= SYMBOL_FLAG_LOCAL;
- dw2_asm_output_encoded_addr_rtx (fde_encoding,
- sym_ref,
- false,
- "FDE initial location");
if (fde->dw_fde_switched_sections)
{
rtx sym_ref2 = gen_rtx_SYMBOL_REF (Pmode,
@@ -2452,14 +2446,20 @@ output_call_frame_info (int for_eh)
"FDE address range");
}
else
- dw2_asm_output_delta (size_of_encoded_value (fde_encoding),
- fde->dw_fde_end, fde->dw_fde_begin,
- "FDE address range");
+ {
+ rtx sym_ref = gen_rtx_SYMBOL_REF (Pmode, fde->dw_fde_begin);
+ SYMBOL_REF_FLAGS (sym_ref) |= SYMBOL_FLAG_LOCAL;
+ dw2_asm_output_encoded_addr_rtx (fde_encoding,
+ sym_ref,
+ false,
+ "FDE initial location");
+ dw2_asm_output_delta (size_of_encoded_value (fde_encoding),
+ fde->dw_fde_end, fde->dw_fde_begin,
+ "FDE address range");
+ }
}
else
{
- dw2_asm_output_addr (DWARF2_ADDR_SIZE, fde->dw_fde_begin,
- "FDE initial location");
if (fde->dw_fde_switched_sections)
{
dw2_asm_output_addr (DWARF2_ADDR_SIZE,
@@ -2478,9 +2478,13 @@ output_call_frame_info (int for_eh)
"FDE address range");
}
else
- dw2_asm_output_delta (DWARF2_ADDR_SIZE,
- fde->dw_fde_end, fde->dw_fde_begin,
- "FDE address range");
+ {
+ dw2_asm_output_addr (DWARF2_ADDR_SIZE, fde->dw_fde_begin,
+ "FDE initial location");
+ dw2_asm_output_delta (DWARF2_ADDR_SIZE,
+ fde->dw_fde_end, fde->dw_fde_begin,
+ "FDE address range");
+ }
}
if (augmentation[0])