------- Comment #4 from ubizjak at gmail dot com 2008-01-14 12:59 -------
(In reply to comment #3)
> This testcase never worked.
It works when -g is added to compile flags.
The problem is, that final pass calls dwarf2out_switch_text_section() for
NOTE_INSN_SWITCH_TEXT_SECTIONS only when debug hooks are actually initialized.
When "-g" is added, everything works as expected, since
dwarf2out_switch_text_section() is now active and we get:
.LSFDE2:
.long .LEFDE2-.LASFDE2
.LASFDE2:
.long .Lframe0
.quad .LFB15
.quad .LHOTB1
.quad .LHOTE1-.LHOTB1
.quad .LCOLDB1
.quad .LCOLDE1-.LCOLDB1
.align 8
.LEFDE2:
instead of:
.LASFDE3:
.long .LASFDE3-.Lframe1
.long .LFB15
.long .LFE15-.LFB15
.uleb128 0x0
.align 8
.LEFDE3:
BTW: I also think that -freorder-blocks-and-partition should enable
flag_inhibit_size_directive, since .size is not correct with -fr-b-a-p.
I'm not an expert on this area, so perhaps original authors would like to fix
this issue?
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ctice at apple dot com
Summary|FAIL: gcc.dg/tree-prof/bb- |[4.3 Regression] FAIL:
|reorg.c compilation, - |gcc.dg/tree-prof/bb-reorg.c
|fprofile-use -D_PROFILE_USE |compilation, -fprofile-use
| |-D_PROFILE_USE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34249