On Wednesday 21 November 2007, Henrique de Moraes Holschuh wrote: > On Tue, 20 Nov 2007, Frans Pop wrote: > > A patch is available, but the question facing Debian is: should we do a > > scan of the archive to see if and which binary packages are affected? > > Given the sort of insiduous, nightmarish to debug kind of bug this thing > could cause, I'd say that yes, we should. I don't expect it is a very > common problem, but one can't be sure without looking for it.
The most effective/efficient way to do this may be an archive rebuild with a modified gcc that emits a warning if this case is hit and then check build logs for the warning. Something like the patch below (stolen from the thread on linux-kernel). --- trunk/gcc/fold-const.c 2007/11/17 13:46:53 130257 +++ trunk/gcc/fold-const.c 2007/11/17 14:22:42 130258 @@ -6095,6 +6095,9 @@ } break; } + /* If the constant is negative, we cannot simplify this. */ + if (tree_int_cst_sgn (c) == -1) + { warning(0, "Unpatched gcc miscompiles this"); break; } /* FALLTHROUGH */ case NEGATE_EXPR: if ((t1 = extract_muldiv (op0, c, code, wide_type, strict_overflow_p))
signature.asc
Description: This is a digitally signed message part.