Commit 0cf856b7 by Jakub Jelinek Committed by Jakub Jelinek

re PR rtl-optimization/34999 (Incorrect FDE entries with hot/cold code section…

re PR rtl-optimization/34999 (Incorrect FDE entries with hot/cold code section splitting (partition_hot_cold_basic_blocks))

	PR rtl-optimization/34999
	* dwarf2out.c (struct dw_fde_struct): Add dw_fde_switch_cfi
	and dw_fde_switched_cold_to_hot fields.
	(output_cfi_p): New function.
	(output_call_frame_info): If fde->dw_fde_switched_sections,
	output 2 FDEs instead of one with corrupted header.
	(dwarf2out_do_cfi_startproc): New function.
	(dwarf2out_begin_prologue): Use it.  Initialize fde->dw_fde_switch_cfi
	and fde->dw_fde_switched_cold_to_hot.
	(dwarf2out_switch_text_section): Compute
	fde->dw_fde_switched_cold_to_hot.  Switch to new text section here.
	If dwarf2out_do_cfi_asm, emit .cfi_endproc before it and call
	dwarf2out_do_cfi_startproc plus emit again currently active CFI insns.
	Otherwise, compute fde->dw_fde_switch_cfi.

From-SVN: r150069
parent 2a2869d6
2009-07-25 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/34999
* dwarf2out.c (struct dw_fde_struct): Add dw_fde_switch_cfi
and dw_fde_switched_cold_to_hot fields.
(output_cfi_p): New function.
(output_call_frame_info): If fde->dw_fde_switched_sections,
output 2 FDEs instead of one with corrupted header.
(dwarf2out_do_cfi_startproc): New function.
(dwarf2out_begin_prologue): Use it. Initialize fde->dw_fde_switch_cfi
and fde->dw_fde_switched_cold_to_hot.
(dwarf2out_switch_text_section): Compute
fde->dw_fde_switched_cold_to_hot. Switch to new text section here.
If dwarf2out_do_cfi_asm, emit .cfi_endproc before it and call
dwarf2out_do_cfi_startproc plus emit again currently active CFI insns.
Otherwise, compute fde->dw_fde_switch_cfi.
2009-07-24 Cary Coutant <ccoutant@google.com>
* tree-cfg.c (assign_discriminator): Add explicit parentheses.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment