https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89829
Bug ID: 89829 Summary: incorrect profile data is used during profiledbootstrap Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: belyshev at depni dot sinp.msu.ru CC: marxin at gcc dot gnu.org Target Milestone: --- Looking at the *.gcda timestamps, I noticed that incorrect data (the one from stageprofile libgcc build) is used, and correct one (from stagetrain) is discarded. The fix is just to revert r254150 which effectively undid 4-stage profiledbootstrap to a previous status quo where only libgcc training data was used. Also note that the r254150 confusion probably stems from the fact that there are two stagefeedback-start:: rules in the Makefile.tpl, where the first one is generated from stage[+id+]-start:: template. The corresponding recipes are executed both, and they are not independent as the first one renames directory structure by doing 'make stage'. This (ab)use of double-colon rules is not recommended by the GNU make documentation, see https://www.gnu.org/software/make/manual/html_node/Double_002dColon.html#Double_002dColon .