https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81033
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[8 Regression] Bootstrap |[8 Regression] Revision |broken on darwin |r249019 breaks bootstrap on | |darwin --- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- I bootstrap again if I revert revision r249019. The following patch --- ../_clean/gcc/config/darwin.c 2017-01-01 17:39:06.000000000 +0100 +++ gcc/config/darwin.c 2017-06-10 17:19:31.000000000 +0200 @@ -3170,6 +3170,16 @@ darwin_override_options (void) flag_reorder_blocks = 1; } + /* Disable -freorder-blocks-and-partition when -fprofile-use is not in + effect. Function splitting was not actually being performed in that case, + as probably_never_executed_bb_p does not distinguish any basic blocks as + being cold vs hot when there is no profile data. Leaving it enabled, + however, causes the assembly code generator to create (empty) cold + sections and labels, leading to unnecessary size overhead. */ + if (global_options_set.x_flag_reorder_blocks_and_partition + && !global_options_set.x_flag_profile_use) + flag_reorder_blocks_and_partition = 0; + /* FIXME: flag_objc_sjlj_exceptions is no longer needed since there is only one valid choice of exception scheme for each runtime. */ if (!global_options_set.x_flag_objc_sjlj_exceptions) fixes bootstrap.