From 2e2c7ce23798d0ffd6e1302e1594cf0de8b0bbe7 Mon Sep 17 00:00:00 2001 From: Uros Bizjak <ubizjak@gmail.com> Date: Wed, 16 Jan 2008 22:20:39 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 34 +++++++++++++++++++--------------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1cf3e93f565b..9dc1e213afd7 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 7df2b4626c09..280d62d69952 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]) -- GitLab