Comment 17 for bug 24717

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Thu, 3 Nov 2005 13:28:57 +0100
From: Thiemo Seufer <email address hidden>
To: Sven Luther <email address hidden>, <email address hidden>
Subject: Re: 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 <email address hidden>

 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));