Robert P. J. DAY says:
According to Mike Frysinger, this patch was removed from Gentoo in the
2.3.x series and didn't seem to cause any adverse effects. So toss it
from the patch directories for glibc 2.5 and up.
1 diff -durN gcc-3.4.6.orig/gcc/flow.c gcc-3.4.6/gcc/flow.c
2 --- gcc-3.4.6.orig/gcc/flow.c 2005-09-01 22:51:09.000000000 +0200
3 +++ gcc-3.4.6/gcc/flow.c 2007-08-15 23:00:30.000000000 +0200
5 rtx set_src = SET_SRC (pc_set (BB_END (bb)));
6 rtx cond_true = XEXP (set_src, 0);
7 rtx reg = XEXP (cond_true, 0);
8 + enum rtx_code inv_cond;
10 if (GET_CODE (reg) == SUBREG)
11 reg = SUBREG_REG (reg);
12 @@ -1892,11 +1893,13 @@
13 in the form of a comparison of a register against zero.
14 If the condition is more complex than that, then it is safe
15 not to record any information. */
16 - if (GET_CODE (reg) == REG
17 + inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
18 + if (inv_cond != UNKNOWN
19 + && GET_CODE (reg) == REG
20 && XEXP (cond_true, 1) == const0_rtx)
23 - = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
24 + = gen_rtx_fmt_ee (inv_cond,
25 GET_MODE (cond_true), XEXP (cond_true, 0),
27 if (GET_CODE (XEXP (set_src, 1)) == PC)