This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap error building libio on sparc-sun-solaris2.7
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Subject: Re: Bootstrap error building libio on sparc-sun-solaris2.7
- From: Alexandre Oliva <aoliva at cygnus dot com>
- Date: 05 Apr 2000 02:01:21 -0300
- Cc: egcs-bugs at egcs dot cygnus dot com, gcc-patches at gcc dot gnu dot org
- Cc: Jakub Jelinek <jakub at redhat dot com>
- Organization: Cygnus Solutions, a Red Hat Company
- References: <200004031642.MAA16953@caip.rutgers.edu>
On Apr 3, 2000, "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> wrote:
>> From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>
>> > ../../../egcs-CVS20000327/libio/floatconv.c: In function `_IO_strtod':
>> > ../../../egcs-CVS20000327/libio/floatconv.c:1631: Insn does not
>> > satisfy its constraints:
>> > (insn 3363 1016 3457 (set (reg:DF 38 %f6)
>> > (mem/s/u:DF (plus:SI (reg:SI 9 %o1)
>> > (reg:SI 8 %o0)) 0)) 167 {*movdf_insn_sp32} (nil)
>> > (nil))
> This error still occurs with last night's CVS checkout.
Yup. Here's a patch that reverts the culprit. Ok to install?
Index: gcc/ChangeLog
from Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* config/sparc/sparc.c (mem_min_alignment): Revert.
2000-03-21 Jakub Jelinek <jakub@redhat.com>
Index: gcc/config/sparc/sparc.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/sparc/sparc.c,v
retrieving revision 1.121
diff -u -r1.121 sparc.c
--- gcc/config/sparc/sparc.c 2000/04/04 10:13:26 1.121
+++ gcc/config/sparc/sparc.c 2000/04/05 04:57:20
@@ -2942,12 +2942,10 @@
{
/* Check if the compiler has recorded some information
about the alignment of the base REG. If reload has
- completed, we already matched with proper alignments.
- If not running global_alloc, reload might give us
- unaligned pointer to local stack though. */
+ completed, we already matched with proper alignments. */
if (((cfun != 0
&& REGNO_POINTER_ALIGN (regno) >= desired * BITS_PER_UNIT)
- || (optimize && reload_completed))
+ || reload_completed)
&& (INTVAL (offset) & (desired - 1)) == 0)
return 1;
}
Jakub, do you have a testcase that fails without your patch? The
following testcase fails *with* it. I've just installed it as
gcc.c-torture/compile/20000405-1.c:
static const double bar[] = { 0 };
int j;
double
foo ()
{
return bar[j];
}
--
Alexandre Oliva Enjoy Guaranį, see http://www.ic.unicamp.br/~oliva/
Cygnus Solutions, a Red Hat company aoliva@{redhat, cygnus}.com
Free Software Developer and Evangelist CS PhD student at IC-Unicamp
oliva@{lsd.ic.unicamp.br, gnu.org} Write to mailing lists, not to me