[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-13 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-09-13 09:35 ---
I have a patch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|WAITING |ASSIGNED
   Last reconfirmed|2010-09-09 12:43:28 |2010-09-13 09:35:04
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-13 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2010-09-13 10:47 ---
Subject: Bug 45611

Author: rguenth
Date: Mon Sep 13 10:47:28 2010
New Revision: 164244

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164244
Log:
2010-09-13  Richard Guenther  rguent...@suse.de

PR tree-optimization/45611
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
(copy_ref_info): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-13 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2010-09-13 10:48 
---
Should be fixed now.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-13 Thread ebotcazou at gcc dot gnu dot org


--- Comment #11 from ebotcazou at gcc dot gnu dot org  2010-09-13 10:55 
---
*** Bug 45421 has been marked as a duplicate of this bug. ***


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-10 Thread ro at CeBiTec dot Uni-Bielefeld dot DE


--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-10 
15:48 ---
Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file on Solaris
2/SPARC

 --- Comment #4 from rguenth at gcc dot gnu dot org  2010-09-09 13:27 
 ---

 I don't have access to sparc-sun-solaris2*, so I can't bootstrap it (but
 at most build a cross cc1).

Not even sparc-linux?  I very much doubt the bug is Solaris-specific.

 So please attach a testcase (easiest is probably in a non-bootstrapped
 tree run make check and pick a simple one that fails from the C testsuite).

Ok, I'll try to find one.

 Is sparc-sun-solaris2* a STRICT_ALIGNMENT target?  What's the clr instruction?
 Is it a store or a load?

Yes, cf. sparc.h.

clr and clrx store 0 (4 or 8 bytes) at the target address, requiring
natural alignment (which fails with your patch for the clrx case).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-10 Thread rguenther at suse dot de


--- Comment #6 from rguenther at suse dot de  2010-09-10 15:51 ---
Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file
 on Solaris 2/SPARC

On Fri, 10 Sep 2010, ro at CeBiTec dot Uni-Bielefeld dot DE wrote:

 --- Comment #5 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-10 
 15:48 ---
 Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file on Solaris
 2/SPARC
 
  --- Comment #4 from rguenth at gcc dot gnu dot org  2010-09-09 13:27 
  ---
 
  I don't have access to sparc-sun-solaris2*, so I can't bootstrap it (but
  at most build a cross cc1).
 
 Not even sparc-linux?  I very much doubt the bug is Solaris-specific.

No, not even sparc-linux.

  So please attach a testcase (easiest is probably in a non-bootstrapped
  tree run make check and pick a simple one that fails from the C testsuite).
 
 Ok, I'll try to find one.
 
  Is sparc-sun-solaris2* a STRICT_ALIGNMENT target?  What's the clr 
  instruction?
  Is it a store or a load?
 
 Yes, cf. sparc.h.
 
 clr and clrx store 0 (4 or 8 bytes) at the target address, requiring
 natural alignment (which fails with your patch for the clrx case).

Thanks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-10 Thread ro at CeBiTec dot Uni-Bielefeld dot DE


--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-10 
19:10 ---
Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file on Solaris
2/SPARC

  So please attach a testcase (easiest is probably in a non-bootstrapped
  tree run make check and pick a simple one that fails from the C testsuite).
 
 Ok, I'll try to find one.

I've found one (in fact, it seems to be the only C one):

+FAIL: gcc.c-torture/execute/20100708-1.c execution,  -O2 
+FAIL: gcc.c-torture/execute/20100708-1.c execution,  -Os 
+FAIL: gcc.c-torture/execute/20100708-1.c execution,  -O2 -flto 
+FAIL: gcc.c-torture/execute/20100708-1.c execution,  -O2 -fwhopr 

Without and with your patch, it shows the following difference, just
like the change that causes xgcc to get a SIGBUS:

--- /homes/ro/20100708-1.s  2010-09-10 20:53:11.730613000 +0200
+++ 20100708-1.s2010-09-10 20:51:09.161003200 +0200
@@ -7,8 +7,7 @@
 f:
mov 16, %g1
 .LL2:
-   st  %g0, [%o0+8]
-   st  %g0, [%o0+12]
+   stx %g0, [%o0+8]
st  %g0, [%o0+16]
addcc   %g1, -1, %g1
bne,pt  %icc, .LL2

clr and clrx are just synthetic instructions, the real thing can be
seen above: st resp. stx are stores of 4 resp. 8 bytes, and the %g0
register always reads as 0.

%o0 isn't 8-byte aligned in this case, so the testcase dies with SIGBUS.

Compile with

$ cc1 20100708-1.c -mcpu=v9 -O2

to reproduce.

Thanks.
Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-09 Thread ebotcazou at gcc dot gnu dot org


--- Comment #1 from ebotcazou at gcc dot gnu dot org  2010-09-09 10:38 
---
Presumably 163997 then.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-09 Thread ro at CeBiTec dot Uni-Bielefeld dot DE


--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld dot DE  2010-09-09 
12:41 ---
Subject: Re:  [4.6 regression] SIGBUS in generate_option_input_file on Solaris
2/SPARC

 --- Comment #1 from ebotcazou at gcc dot gnu dot org  2010-09-09 10:38 
 ---
 Presumably 163997 then.

Indeed: a C-only bootstrap on sparc-sun-solaris2.10 works as of rev
163996 and fails with 163997.

Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-09 Thread ro at gcc dot gnu dot org


--- Comment #3 from ro at gcc dot gnu dot org  2010-09-09 12:43 ---
Richard, could you please have a look?


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenther at suse dot de
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-09 12:43:28
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611



[Bug bootstrap/45611] [4.6 regression] SIGBUS in generate_option_input_file on Solaris 2/SPARC

2010-09-09 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-09-09 13:27 ---
(In reply to comment #3)
 Richard, could you please have a look?

I don't have access to sparc-sun-solaris2*, so I can't bootstrap it (but
at most build a cross cc1).

So please attach a testcase (easiest is probably in a non-bootstrapped
tree run make check and pick a simple one that fails from the C testsuite).

Is sparc-sun-solaris2* a STRICT_ALIGNMENT target?  What's the clr instruction?
Is it a store or a load?

The revision in question is supposed to make alignment less strict and I
can't see how this can break anything.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |WAITING
   Target Milestone|--- |4.6.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45611