Bug 43121 - [4.5 regression] Bootstrap failure
Summary: [4.5 regression] Bootstrap failure
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.5.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-19 15:10 UTC by H.J. Lu
Modified: 2010-02-20 14:28 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2010-02-19 15:10:20 UTC
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
Comment 1 H.J. Lu 2010-02-19 15:14:37 UTC
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);
Comment 2 Jakub Jelinek 2010-02-19 22:12:41 UTC
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

Comment 3 Richard Biener 2010-02-20 14:28:29 UTC
Fixed.
Comment 4 Jakub Jelinek 2010-03-08 11:46:43 UTC
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