Bug#336167: gcc-4.0: breaks kernel builds in random ways.
tags 336167 +patch
thanks
Sven Luther wrote:
[snip]
> > The appended patch reverts a single line of the diff between 4.0.2-2
> > and 4.0.2-3 and lets the testcase succeed. I don't know that part of
> > gcc enough to judge if it is a valid fix for the problem.
> >
> > Sven, could you test if this fixes also the problem you see?
>
> Ok, i will, altough i would need to rebuild gcc, so it will not be before
> tomorrow that i can test it.
The appended patch fixes the problems for mips-linux, tested with a
kernel build and builds of ncpfs and mypasswordsafe.
Sven, can you test this patch?
Thiemo
2005-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
PR rtl-optimization/23585
* rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
that can't trap plus a constant integer, if the mode has zero size.
Index: rtlanal.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtlanal.c,v
retrieving revision 1.221
diff -u -p -r1.221 rtlanal.c
--- rtlanal.c 20 Oct 2005 12:14:29 -0000 1.221
+++ rtlanal.c 2 Nov 2005 09:32:05 -0000
@@ -267,7 +267,9 @@ rtx_addr_can_trap_p_1 (rtx x, enum machi
{
HOST_WIDE_INT offset;
- if (!STRICT_ALIGNMENT || !unaligned_mems)
+ if (!STRICT_ALIGNMENT
+ || !unaligned_mems
+ || GET_MODE_SIZE (mode) == 0)
return 0;
offset = INTVAL (XEXP (x, 1));
Reply to: