http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45781
--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-09-30 16:44:17 UTC --- IA-64 seems to be fine with unlikely section at least at our periodic tester setup, otherwise SPEC2000 FDO testing would break. So it might be specific for ia64 HP-UX and in that case indeed correct fix is to simply define cold and hot sections to be .text sections (or fix it at binutils side) for HP-UX IA-64 (and possibly PA target too). What I am confused about is how partial inlining affect placement of init_target_chars. If it was because function got partially inlined, the wrong call would be named init_target_chars.part.XXX and it is not. It is possible that partial inlining affect profile in some of the callers and then it might be some bug in profile updating, so I would like to see a testcase. x.c in the PR is truncated and when i compile builtins.c from my GCC tree (x86-64) I do not get init_target_chars in unlikely function. For some funny reason I however get gimple_rewrite_call_expr. All uses of it are preceeded by very many exists from the function that makes them appear cold. Funny but probably not harmful. Honza