On Linux/ia64, I got /libdecnumber/libdecnumber.a -lmpc -lmpfr -lgmp -rdynamic -ldl -lz -lelf libbackend.a(except.o): In function `sjlj_emit_function_enter': /export/gnu/import/svn/gcc-test/bld/gcc/../../src-trunk/gcc/except.c:1165: undefined reference to `add_reg_br_prob_note' collect2: ld returned 1 exit status make[6]: *** [cc1-dummy] Error 1 rm gcov.pod gfdl.pod cpp.pod gcc.pod fsf-funding.pod make[6]: Leaving directory `/export/gnu/import/svn/gcc-test/bld/gcc' make[5]: *** [all-stage1-gcc] Error 2
It is caused by revision 156889: http://gcc.gnu.org/ml/gcc-cvs/2010-02/msg00472.html Jakub, you missed: [hjl@gnu-12 gcc]$ grep add_reg_br_prob_note *.[ch] except.c: add_reg_br_prob_note (get_insns (), REG_BR_PROB_BASE/100); rtl.h:extern void add_reg_br_prob_note (rtx last, int probability);
Subject: Bug 43121 Author: jakub Date: Fri Feb 19 22:12:25 2010 New Revision: 156913 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156913 Log: PR bootstrap/43121 * except.c (sjlj_emit_function_enter): Don't call add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn directly. * rtl.h (add_reg_br_prob_note): Remove prototype. Modified: trunk/gcc/ChangeLog trunk/gcc/except.c trunk/gcc/rtl.h
Fixed.
Subject: Bug 43121 Author: jakub Date: Mon Mar 8 11:46:28 2010 New Revision: 157274 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157274 Log: PR middle-end/42233 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority. PR bootstrap/43121 * except.c (sjlj_emit_function_enter): Don't call add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn directly. * rtl.h (add_reg_br_prob_note): Remove prototype. PR middle-end/42233 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller. PR middle-end/42233 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump, do_jump_1, do_compare_rtx_and_jump): Add PROB argument. * dojump.c: Include output.h. (inv): New inline function. (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump, do_jump_by_parts_greater_rtx, do_jump_by_parts_greater, do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx, do_jump_by_parts_equality, do_compare_and_jump): Add PROB argument, pass it down to other calls. (do_compare_rtx_and_jump): Likewise. If PROB is not -1, add REG_BR_PROB note to the conditional jump. * cfgexpand.c (add_reg_br_prob_note): Removed. (expand_gimple_cond): Don't call it, add the probability as last argument to jumpif_1/jumpifnot_1. * Makefile.in (dojump.o): Depend on output.h. * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump callers. * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise. * stmt.c (do_jump_if_equal): Likewise. * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise. * loop-unswitch.c (compare_and_jump_seq): Likewise. * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Likewise. * optabs.c (expand_doubleword_shift, expand_abs): Likewise. * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and jumpifnot_1 callers. (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump callers. (store_expr): Adjust jumpifnot caller. (store_constructor): Adjust jumpif caller. PR middle-end/42233 * gimplify.c (gimple_boolify): For __builtin_expect call gimple_boolify also on its first argument. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/Makefile.in branches/gcc-4_4-branch/gcc/cfgexpand.c branches/gcc-4_4-branch/gcc/cfgrtl.c branches/gcc-4_4-branch/gcc/config/rs6000/rs6000.c branches/gcc-4_4-branch/gcc/dojump.c branches/gcc-4_4-branch/gcc/except.c branches/gcc-4_4-branch/gcc/expmed.c branches/gcc-4_4-branch/gcc/expr.c branches/gcc-4_4-branch/gcc/expr.h branches/gcc-4_4-branch/gcc/gimplify.c branches/gcc-4_4-branch/gcc/loop-doloop.c branches/gcc-4_4-branch/gcc/loop-unswitch.c branches/gcc-4_4-branch/gcc/optabs.c branches/gcc-4_4-branch/gcc/rtl.h branches/gcc-4_4-branch/gcc/stmt.c