[Bug bootstrap/57265] New: Bootstrap failure on sparc-sun-solaris2.10 in libquadmath

2013-05-13 Thread ahaas at airmail dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57265

Bug ID: 57265
   Summary: Bootstrap failure on sparc-sun-solaris2.10 in
libquadmath
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ahaas at airmail dot net

My builds have failed since April 15 when building 'libquadmath' after
completing the stage2/stage3 comparison. My last successful build was on April
14. The error below is taken from the 'config.log' file in  the
'sparc-sun-solaris2.10/sparcv9/libquadmath' directory:

{ ... snip ... }
configure:3386: checking whether the C compiler works
configure:3395: ./a.out
ld.so.1: a.out: fatal: /export/home/arth/src/gcc-0512/./gcc/libgcc_s.so.1:
wrong
 ELF class: ELFCLASS32
/export/home/arth/src/gcc.git/libquadmath/configure: line 3397: 11229 Killed
  ./$ac_file
configure:3399: $? = 137
configure:3406: error: in
`/export/home/arth/src/gcc-0512/sparc-sun-solaris2.10/
sparcv9/libquadmath':
configure:3410: error: cannot run C compiled programs.

A bit of git bisecting leads to this change:

commit 8aaed91dfc5f8fcd17fd6b61de3a6d68e59b5e1e
Author: ro ro@138bc75d-0d04-0410-961f-82ee72b054a4
Date:   Mon Apr 15 10:31:57 2013 +

Use -z ignore instead of --as-needed on Solaris

* configure.ac (gcc_cv_ld_as_needed): Set
gcc_cv_ld_as_needed_option, gcc_cv_no_as_needed_option.
Use -z ignore, -z record on *-*-solaris2*.
(HAVE_LD_AS_NEEDED): Update comment.
(LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Define.
* configure: Regenerate.
* config.in: Regenerate.
* gcc.c (init_gcc_specs) [USE_LD_AS_NEEDED]: Use
LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION.
* config/sol2.h [HAVE_LD_AS_NEEDED] (USE_LD_AS_NEEDED): Define.
* doc/tm.texi.in (USE_LD_AS_NEEDED): Allow for --as-needed
equivalents.  Fix markup.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197964
138bc75d-0d04-0410-96

I'm able go get a successful build with the previous revision 197963, which is
'98c0d6572c62b325c1e8635df3d6b22003b83619' in my git checkout. In this
revision, the config.log contents from 'sparc-sun-solaris2.10/sparcv9' show
this test succeeding:

configure:3386: checking whether the C compiler works
configure:3395: ./a.out
configure:3399: $? = 0
configure:3414: result: yes

Thanks.

Art Haas


[Bug bootstrap/57265] Bootstrap failure on sparc-sun-solaris2.10 in libquadmath

2013-05-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57265

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
-4

*** This bug has been marked as a duplicate of bug 57261 ***


New bootstrap failure on sparc-sun-solaris2.10

2011-10-03 Thread Art Haas

The latest set of patches to update the Sparc platform has resulted in a
build failure in stage 1 of this mornings builds:

gcc -c   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings 
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute 
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings 
-Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H -I. -I. 
-I/export/home/arth/src/gcc.git/gcc
-I/export/home/arth/src/gcc.git/gcc/. 
-I/export/home/arth/src/gcc.git/gcc/../include 
-I/export/home/arth/src/gcc.git/gcc/../libcpp/include 
-I/export/home/arth/local/include -I/export/home/arth/local/include 
-I/export/home/arth/local/include  
-I/export/home/arth/src/gcc.git/gcc/../libdecnumber 
-I/export/home/arth/src/gcc.git/gcc/../libdecnumber/dpd -I../libdecnumber
-I. -I. -I/export/home/arth/src/gcc.git/gcc 
-I/export/home/arth/src/gcc.git/gcc/. 
-I/export/home/arth/src/gcc.git/gcc/../include 
-I/export/home/arth/src/gcc.git/gcc/../libcpp/include 
-I/export/home/arth/local/include -I/export/home/arth/local/include 
-I/export/home/arth/local/include  
-I/export/home/arth/src/gcc.git/gcc/../libdecnumber 
-I/export/home/arth/src/gcc.git/gcc/../libdecnumber/dpd -I../libdecnumber   
/export/home/arth/src/gcc.git/gcc/config/sol2-stubs.c
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c: In function 
'sparc_fold_builtin':
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9727:2: error: duplicate
case value
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9726:2: error: 
previously used here
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9728:2: error: duplicate
case value
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9726:2: error: 
previously used here
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9729:2: error: duplicate
case value
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9726:2: error: 
previously used here
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9730:2: error: duplicate
case value
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9726:2: error: 
previously used here
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9731:2: error: duplicate
case value
/export/home/arth/src/gcc.git/gcc/config/sparc/sparc.c:9726:2: error: 
previously used here
gmake[3]: *** [sparc.o] Error 1

I'd mailed about bootstrap failures last week, and in those the build
was failing at the stage2/stage three comparison. One question in the
reply to my earlier mail was what version of GNU as/ld I'm, and there
both from binutils-2.21, built on December 15 last year and working fine
all this year:

$ as --version
GNU assembler (GNU Binutils) 2.21
Copyright 2010 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `sparc-sun-solaris2.10'.
$ ld --version
GNU ld (GNU Binutils) 2.21
Copyright 2010 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

I tried to build using the Solaris provided GNU as and Sun ld, but the
build failed when trying to build an 'lto' library. I've unfortunately
removed the build log so I can't copy the error, but it looked to be due
to a path issue where a '.libs' directory did not exist.

Here's the configuration for my last successful GCC build early last
month:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/export/home/arth/local/libexec/gcc/sparc-sun-solaris2.10/4.7.0/lto-wrapper
Target: sparc-sun-solaris2.10
Configured with: /export/home/arth/src/gcc.git/configure 
--prefix=/export/home/arth/local --enable-languages=c,c++,objc --disable-nls 
--with-gmp=/export/home/arth/local --with-mpfr=/export/home/arth/local 
--with-mpc=/export/home/arth/local --enable-checking=release --enable-threads 
--with-gnu-as --with-as=/export/home/arth/local/bin/as --with-gnu-ld 
--with-ld=/export/home/arth/local/bin/ld --enable-libstdcxx-pch=no 
--with-cpu=ultrasparc3 --with-tune=ultrasparc3
Thread model: posix
gcc version 4.7.0 20110906 (experimental) [master revision
bdc818b:c562c54:dfb98d7502700782f4a1a4e04357e46fd90784fe] (GCC)

Thanks to everyone working on GCC.

Art Haas


Re: Bootstrap failure on sparc-sun-solaris2.10

2011-09-30 Thread Rainer Orth
Art Haas ah...@impactweather.com writes:

 I've had no success lately getting GCC to bootstrap successfully. My
 last successful bootstrap was on September 6; my builds on September
 7 through today all end with a comparison failure. Here's the end
 of my build log:

 gmake[2]: Entering directory `/export/home/arth/src/gcc-0929'
 gmake[3]: Entering directory `/export/home/arth/src/gcc-0929'
 rm -f stage_current
 gmake[3]: Leaving directory `/export/home/arth/src/gcc-0929'
 Comparing stages 2 and 3
 warning: gcc/cc1-checksum.o differs
 warning: gcc/cc1plus-checksum.o differs
 warning: gcc/cc1obj-checksum.o differs
 Bootstrap comparison failure!
 libdecnumber/decNumber.o differs
 gmake[2]: *** [compare] Error 1
 gmake[2]: Leaving directory `/export/home/arth/src/gcc-0929'
 gmake[1]: *** [stage3-bubble] Error 2
 gmake[1]: Leaving directory `/export/home/arth/src/gcc-0929'
 gmake: *** [bootstrap-lean] Error 2

I didn't have an issue bootstrapping mainline yesterday on Solaris 8 to 11.

 My last successful build was configured like so:

 $ gcc -v
 Using built-in specs.
 COLLECT_GCC=gcc
 COLLECT_LTO_WRAPPER=/export/home/arth/local/libexec/gcc/sparc-sun-solaris2.10/4.7.0/lto-wrapper
 Target: sparc-sun-solaris2.10
 Configured with: /export/home/arth/src/gcc.git/configure 
 --prefix=/export/home/arth/local --enable-languages=c,c++,objc --disable-nls 
 --with-gmp=/export/home/arth/local --with-mpfr=/export/home/arth/local 
 --with-mpc=/export/home/arth/local --enable-checking=release --enable-threads 
 --with-gnu-as --with-as=/export/home/arth/local/bin/as --with-gnu-ld 
 --with-ld=/export/home/arth/local/bin/ld --enable-libstdcxx-pch=no 
 --with-cpu=ultrasparc3 --with-tune=ultrasparc3

Which version of gas and gld are you using?  I'd stay away from gld,
especially on SPARC.  Please also try a bootstrap without the --with-cpu
and --with-tune options to see if that makes a difference.

 I've seen numerous Sparc related patch land after my last successful
 build, so I'm guessing the issue is Solaris specific. Anyone else who
 builds on this platform seeing similar problems?

If the problem persists even with my suggested changes, please file a
bootstrap PR and Cc it to Eric and Dave M.

Rainer

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


Bootstrap failure on sparc-sun-solaris2.10

2011-09-29 Thread Art Haas

I've had no success lately getting GCC to bootstrap successfully. My
last successful bootstrap was on September 6; my builds on September
7 through today all end with a comparison failure. Here's the end
of my build log:

gmake[2]: Entering directory `/export/home/arth/src/gcc-0929'
gmake[3]: Entering directory `/export/home/arth/src/gcc-0929'
rm -f stage_current
gmake[3]: Leaving directory `/export/home/arth/src/gcc-0929'
Comparing stages 2 and 3
warning: gcc/cc1-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
warning: gcc/cc1obj-checksum.o differs
Bootstrap comparison failure!
libdecnumber/decNumber.o differs
gmake[2]: *** [compare] Error 1
gmake[2]: Leaving directory `/export/home/arth/src/gcc-0929'
gmake[1]: *** [stage3-bubble] Error 2
gmake[1]: Leaving directory `/export/home/arth/src/gcc-0929'
gmake: *** [bootstrap-lean] Error 2

My last successful build was configured like so:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/export/home/arth/local/libexec/gcc/sparc-sun-solaris2.10/4.7.0/lto-wrapper
Target: sparc-sun-solaris2.10
Configured with: /export/home/arth/src/gcc.git/configure 
--prefix=/export/home/arth/local --enable-languages=c,c++,objc --disable-nls 
--with-gmp=/export/home/arth/local --with-mpfr=/export/home/arth/local 
--with-mpc=/export/home/arth/local --enable-checking=release --enable-threads 
--with-gnu-as --with-as=/export/home/arth/local/bin/as --with-gnu-ld 
--with-ld=/export/home/arth/local/bin/ld --enable-libstdcxx-pch=no 
--with-cpu=ultrasparc3 --with-tune=ultrasparc3
Thread model: posix
gcc version 4.7.0 20110906 (experimental) [master revision 
bdc818b:c562c54:dfb98d7502700782f4a1a4e04357e46fd90784fe] (GCC)
$

I've seen numerous Sparc related patch land after my last successful
build, so I'm guessing the issue is Solaris specific. Anyone else who
builds on this platform seeing similar problems?

Art Haas


Re: Bootstrap failure on sparc-sun-solaris2.10

2011-03-29 Thread Rainer Orth
Hi Art,

 This morning's build on sparc-sun-solaris2.10 failed for me; the error
 message in 'stage_2' is below:

 options.c:753:3: error: enum conversion in initialization is invalid in C++ 
 [-Werror=c++-compat]
 options.c:753:3: error: (near initialization for 
 'global_options_init.x_sparc_cpu_and_features') [-Werror=c++-compat]
 options.c:755:3: error: enum conversion in initialization is invalid in C++ 
 [-Werror=c++-compat]
 options.c:755:3: error: (near initialization for 
 'global_options_init.x_sparc_cpu') [-Werror=c++-compat]
 cc1: all warnings being treated as errors

 My build on Friday worked, so the likely culprit is this change
 from today:

 2011-03-28  Joseph Myers  jos...@codesourcery.com

   * config/sparc/sparc-opts.h: New.
   * config/sparc/sparc.c (sparc_handle_option, sparc_select,
   sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
   (sparc_option_override): Store processor_type enumeration rather
   than string in cpu_default.  Remove name and enumeration from
   cpu_table.  Directly default -mcpu then default -mtune from -mcpu
   without using sparc_select.  Use target_flags_explicit instead of
   fpu_option_set.
   * config/sparc/sparc.h (enum processor_type): Move to
   sparc-opts.h.
   (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
   * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
   HeaderInclude entry.
   (mcpu=, mtune=): Use Var and Enum.
   (sparc_processor_type): New Enum and EnumValue entries.

 The relevant lines of the auto-generated 'options.c' file look like this:

 752:  0, /* sparc_cmodel_string */
 753:  0, /* sparc_cpu_and_features */
 754:  0, /* sparc_std_struct_return */
 755:  0, /* sparc_cpu */
 756:  0, /* asm_file_name */

I've just run into this myself and filed PR bootstrap/48337 for the
issue.  In general, you should do so yourself and Cc: the maintainers
and patch author.  It's a better way to get attention than just posting
to the gcc list.

Thanks.
Rainer

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


Bootstrap failure on sparc-sun-solaris2.10

2011-03-28 Thread Art Haas

Hi.

This morning's build on sparc-sun-solaris2.10 failed for me; the error
message in 'stage_2' is below:

options.c:753:3: error: enum conversion in initialization is invalid in C++ 
[-Werror=c++-compat]
options.c:753:3: error: (near initialization for 
'global_options_init.x_sparc_cpu_and_features') [-Werror=c++-compat]
options.c:755:3: error: enum conversion in initialization is invalid in C++ 
[-Werror=c++-compat]
options.c:755:3: error: (near initialization for 
'global_options_init.x_sparc_cpu') [-Werror=c++-compat]
cc1: all warnings being treated as errors

My build on Friday worked, so the likely culprit is this change
from today:

2011-03-28  Joseph Myers  jos...@codesourcery.com

* config/sparc/sparc-opts.h: New.
* config/sparc/sparc.c (sparc_handle_option, sparc_select,
sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
(sparc_option_override): Store processor_type enumeration rather
than string in cpu_default.  Remove name and enumeration from
cpu_table.  Directly default -mcpu then default -mtune from -mcpu
without using sparc_select.  Use target_flags_explicit instead of
fpu_option_set.
* config/sparc/sparc.h (enum processor_type): Move to
sparc-opts.h.
(sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
* config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
HeaderInclude entry.
(mcpu=, mtune=): Use Var and Enum.
(sparc_processor_type): New Enum and EnumValue entries.

The relevant lines of the auto-generated 'options.c' file look like this:

752:  0, /* sparc_cmodel_string */
753:  0, /* sparc_cpu_and_features */
754:  0, /* sparc_std_struct_return */
755:  0, /* sparc_cpu */
756:  0, /* asm_file_name */

Thanks, as always, to everyone working on GCC.

Art Haas


Bootstrap failure in sparc-sun-solaris2.10

2008-09-12 Thread Arthur Haas
Hi.

Even with the patch listed in the bug report below my bootstrap would
still fail when the compiler tries to build libgcc.

The bug report for the bootstrap failure is here:

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

The build failed while building libgcc - the code would trip up on an
assert in haifa-sched.c, similar to the message posted here, though now
the assert is on line 2318:

http://gcc.gnu.org/ml/gcc/2008-09/msg00106.html

Applying the patch Adam created and posted in the message below resolved
the issue and the compiler successfully bootstrapped:

http://gcc.gnu.org/ml/gcc/2008-09/msg00139.html

There was one reply to this message; I don't know if the patch is being
reworked or been formally submitted yet, but it did fix my build.

Art Haas


Re: Bootstrap failure in sparc-sun-solaris2.10

2008-09-12 Thread Eric Botcazou
 Even with the patch listed in the bug report below my bootstrap would
 still fail when the compiler tries to build libgcc.

 The bug report for the bootstrap failure is here:

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

That patch is not the fix, this is explained in the audit trail.  The fix is

2008-09-11  Jeff Law [EMAIL PROTECTED]

* reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
by assign_stack_local on the IRA path for stack slot sharing
as well as the non-IRA path.

 The build failed while building libgcc - the code would trip up on an
 assert in haifa-sched.c, similar to the message posted here, though now
 the assert is on line 2318:

 http://gcc.gnu.org/ml/gcc/2008-09/msg00106.html

 Applying the patch Adam created and posted in the message below resolved
 the issue and the compiler successfully bootstrapped:

 http://gcc.gnu.org/ml/gcc/2008-09/msg00139.html

Thanks for reporting this.  I now can close PR 37424.

 There was one reply to this message; I don't know if the patch is being
 reworked or been formally submitted yet, but it did fix my build.

OK, I'll take a look.

-- 
Eric Botcazou


Re: Bootstrap failure in sparc-sun-solaris2.10

2008-09-12 Thread Adam Nemet
Eric Botcazou [EMAIL PROTECTED] writes:
 Applying the patch Adam created and posted in the message below resolved
 the issue and the compiler successfully bootstrapped:

 http://gcc.gnu.org/ml/gcc/2008-09/msg00139.html

 Thanks for reporting this.  I now can close PR 37424.

 There was one reply to this message; I don't know if the patch is being
 reworked or been formally submitted yet, but it did fix my build.

 OK, I'll take a look.

Yes it was formally submitted here, no review so far:

  http://gcc.gnu.org/ml/gcc-patches/2008-09/msg00574.html

Adam


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-08 Thread Rainer Orth
Eric Botcazou writes:

 Confirmed (on Solaris 9).  Would you mind opening a PR?  There is already one 
 for Linux (37344) but the failure is a little different.  Thanks in advance.

Sure, done: PR bootstrap/37424.

Rainer


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-08 Thread David Miller
From: Rainer Orth [EMAIL PROTECTED]
Date: Mon, 8 Sep 2008 17:18:50 +0200 (MEST)

 Eric Botcazou writes:
 
  Confirmed (on Solaris 9).  Would you mind opening a PR?  There is already 
  one 
  for Linux (37344) but the failure is a little different.  Thanks in advance.
 
 Sure, done: PR bootstrap/37424.

BTW, I'm also seeing the sparc-*-linux failure, and it seems the
compiler is outputting an unaligned memory access somehow.


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-07 Thread Eric Botcazou
 When I tried mainline bootstrap on sparc-sun-solaris2.11 as of 20080903
 (rev 139939), I get a configure failure in stage2 libgcc:

 checking for suffix of object files... configure: error: in
 `/vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/sparc-sun-solaris2.11/libgcc':
 configure: error: cannot compute suffix of object files: cannot compile See
 `config.log' for more details.

 and config.log reveals:

 configure:2590: checking for suffix of object files
 configure:2611: /vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/./gcc/xgcc
 -B/vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/./gcc/
 -B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/lib/
 -isystem /vol/gcc/sparc-sun-solaris2.11/include -isystem
 /vol/gcc/sparc-sun-solaris2.11/sys-include -c -g -O2conftest.c 5
 conftest.c:12: internal compiler error: Bus Error
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See http://gcc.gnu.org/bugs.html for instructions.

Confirmed (on Solaris 9).  Would you mind opening a PR?  There is already one 
for Linux (37344) but the failure is a little different.  Thanks in advance.

-- 
Eric Botcazou


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-06 Thread Andreas Tobler

H.J. Lu wrote:

On Fri, Sep 5, 2008 at 2:57 PM, Andreas Tobler [EMAIL PROTECTED] wrote:

H.J. Lu wrote:


It is a temporary branch, branches/ira-merge, to track
IRA related problems.


Same issue.

Does trunk bootstrap with revision 139589?



No, gcc version 4.4.0 20080905 (experimental) [trunk revision 140042] (GCC)



If trunk was broken at revision 139589, your problem isn't
related to IRA since IRA was merged at revision 139590.


Sorry, misread the above.

- 139589 bootstrap ok and tested
- 139590 bootstrap nok.

Andreas


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-06 Thread H.J. Lu
On Sat, Sep 6, 2008 at 8:30 AM, Andreas Tobler [EMAIL PROTECTED] wrote:
 H.J. Lu wrote:

 On Fri, Sep 5, 2008 at 2:57 PM, Andreas Tobler [EMAIL PROTECTED]
 wrote:

 H.J. Lu wrote:

 It is a temporary branch, branches/ira-merge, to track
 IRA related problems.

 Same issue.

 Does trunk bootstrap with revision 139589?


 No, gcc version 4.4.0 20080905 (experimental) [trunk revision 140042]
 (GCC)


 If trunk was broken at revision 139589, your problem isn't
 related to IRA since IRA was merged at revision 139590.

 Sorry, misread the above.

 - 139589 bootstrap ok and tested
 - 139590 bootstrap nok.


I suggest you open a bug report saying that IRA breaks Sparc
bootstrap.



-- 
H.J.


Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Art Haas
Hi.

My build attempts on sparc-sun-solaris2.10 haven't been working well
since the IRA merge, but given the scope of that change and the fixes
applied since the merge I'm certain the build will be in good shape
soon.

This morning's build attempt failed while compiling libgcc:

/export/home/arth/src/gcc.git/libgcc/../gcc/libgcc2.c: In function
'__moddi3':
/export/home/arth/src/gcc.git/libgcc/../gcc/libgcc2.c:1125: internal
compiler error: in choose_ready, at haifa-sched.c:2309

A similar failure in the haifa-sched.c code was sent to the mailing list
earlier today:

http://gcc.gnu.org/ml/gcc/2008-09/msg00106.html

Art Haas


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Rainer Orth
Art Haas [EMAIL PROTECTED] writes:

 My build attempts on sparc-sun-solaris2.10 haven't been working well
 since the IRA merge, but given the scope of that change and the fixes
 applied since the merge I'm certain the build will be in good shape
 soon.
 
 This morning's build attempt failed while compiling libgcc:
 
 /export/home/arth/src/gcc.git/libgcc/../gcc/libgcc2.c: In function
 '__moddi3':
 /export/home/arth/src/gcc.git/libgcc/../gcc/libgcc2.c:1125: internal
 compiler error: in choose_ready, at haifa-sched.c:2309

When I tried mainline bootstrap on sparc-sun-solaris2.11 as of 20080903
(rev 139939), I get a configure failure in stage2 libgcc:

checking for suffix of object files... configure: error: in 
`/vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/sparc-sun-solaris2.11/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

and config.log reveals:

configure:2590: checking for suffix of object files
configure:2611: /vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/./gcc/xgcc 
-B/vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/./gcc/ 
-B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/lib/ 
-isystem /vol/gcc/sparc-sun-solaris2.11/include -isystem 
/vol/gcc/sparc-sun-solaris2.11/sys-include -c -g -O2conftest.c 5
conftest.c:12: internal compiler error: Bus Error
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
configure:2614: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2627: error: in 
`/vol/gccsrc/obj/gcc-4.4.0-20080903/11-gcc/sparc-sun-solaris2.11/libgcc':
configure:2629: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

Running cc1 -O2 conftest.i gives

Program received signal SIGSEGV, Segmentation fault.
grokdeclarator (declarator=0x8bf240, declspecs=0x8bf1e8, decl_context=NORMAL, 
initialized=1 '\001', width=0x0, decl_attrs=0xffbff454, 
deprecated_state=DEPRECATED_NORMAL) at /vol/gcc/src/gcc-dist/gcc/c-decl.c:4194
(gdb) where
#0  grokdeclarator (declarator=0x8bf240, declspecs=0x8bf1e8, 
decl_context=NORMAL, initialized=1 '\001', width=0x0, decl_attrs=0xffbff454, 
deprecated_state=DEPRECATED_NORMAL) at /vol/gcc/src/gcc-dist/gcc/c-decl.c:4194
#1  0x000b3340 in start_function (declspecs=0x8bf1e8, declarator=0x8bf240, 
attributes=0x0) at /vol/gcc/src/gcc-dist/gcc/c-decl.c:6096
#2  0x0010f964 in c_parser_declaration_or_fndef (parser=0xff01d720, fndef_ok=1 
'\001', empty_ok=value optimized out, nested=0 '\0', start_attr_ok=value 
optimized out) at /vol/gcc/src/gcc-dist/gcc/c-parser.c:1278
#3  0x00114574 in c_parse_file () at /vol/gcc/src/gcc-dist/gcc/c-parser.c:979
#4  0x000f7470 in c_common_parse_file (set_yydebug=0) at 
/vol/gcc/src/gcc-dist/gcc/c-opts.c:1239
#5  0x003c40c0 in toplev_main (argc=value optimized out, argv=value 
optimized out) at /vol/gcc/src/gcc-dist/gcc/toplev.c:968
#6  0x00097e54 in _start ()

Looks like a code generation bug to me.  I'll try to start a reghunt asap.

Btw., i386-pc-solaris2.10 is also broken for me, this time while
configuring stage3 libgcc ;-(  Same is true for alpha-dec-osf5.1b and
mips-sgi-irix6.5, so all four of my platforms got broken during the last
for weeks while I was on vacation.

Rainer

-- 
-
Rainer Orth, Faculty of Technology, Bielefeld University


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Andreas Tobler

Rainer Orth wrote:


Looks like a code generation bug to me.  I'll try to start a reghunt asap.


Start around the 25/26th of August. IRA.

Since then it is borked.

Andreas



Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Andreas Tobler

H.J. Lu wrote:

On Fri, Sep 5, 2008 at 12:15 PM, Andreas Tobler [EMAIL PROTECTED] wrote:

Rainer Orth wrote:


Looks like a code generation bug to me.  I'll try to start a reghunt asap.

Start around the 25/26th of August. IRA.

Since then it is borked.



Can you try ira-merge branch? It has all IRA bug fixes without non-IRA
changes.


How is it named? ira-merge? If, I can't find it on 
http://gcc.gnu.org/svn.html.


Thanks,
Andreas




Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread H.J. Lu
On Fri, Sep 5, 2008 at 12:36 PM, Andreas Tobler [EMAIL PROTECTED] wrote:
 H.J. Lu wrote:

 On Fri, Sep 5, 2008 at 12:15 PM, Andreas Tobler [EMAIL PROTECTED]
 wrote:

 Rainer Orth wrote:

 Looks like a code generation bug to me.  I'll try to start a reghunt
 asap.

 Start around the 25/26th of August. IRA.

 Since then it is borked.


 Can you try ira-merge branch? It has all IRA bug fixes without non-IRA
 changes.

 How is it named? ira-merge? If, I can't find it on
 http://gcc.gnu.org/svn.html.


It is a temporary branch, branches/ira-merge, to track
IRA related problems.

-- 
H.J.


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Andreas Tobler

H.J. Lu wrote:

Can you try ira-merge branch? It has all IRA bug fixes without non-IRA
changes.

How is it named? ira-merge? If, I can't find it on
http://gcc.gnu.org/svn.html.



It is a temporary branch, branches/ira-merge, to track
IRA related problems.


Thanks, co right now.

Andreas


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Andreas Tobler

H.J. Lu wrote:

On Fri, Sep 5, 2008 at 12:36 PM, Andreas Tobler [EMAIL PROTECTED] wrote:

H.J. Lu wrote:

On Fri, Sep 5, 2008 at 12:15 PM, Andreas Tobler [EMAIL PROTECTED]
wrote:

Rainer Orth wrote:


Looks like a code generation bug to me.  I'll try to start a reghunt
asap.

Start around the 25/26th of August. IRA.

Since then it is borked.


Can you try ira-merge branch? It has all IRA bug fixes without non-IRA
changes.

How is it named? ira-merge? If, I can't find it on
http://gcc.gnu.org/svn.html.



It is a temporary branch, branches/ira-merge, to track
IRA related problems.


Same issue.
Andreas


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread H.J. Lu
On Fri, Sep 5, 2008 at 2:43 PM, Andreas Tobler [EMAIL PROTECTED] wrote:
 H.J. Lu wrote:

 On Fri, Sep 5, 2008 at 12:36 PM, Andreas Tobler [EMAIL PROTECTED]
 wrote:

 H.J. Lu wrote:

 On Fri, Sep 5, 2008 at 12:15 PM, Andreas Tobler
 [EMAIL PROTECTED]
 wrote:

 Rainer Orth wrote:

 Looks like a code generation bug to me.  I'll try to start a reghunt
 asap.

 Start around the 25/26th of August. IRA.

 Since then it is borked.

 Can you try ira-merge branch? It has all IRA bug fixes without non-IRA
 changes.

 How is it named? ira-merge? If, I can't find it on
 http://gcc.gnu.org/svn.html.


 It is a temporary branch, branches/ira-merge, to track
 IRA related problems.

 Same issue.

Does trunk bootstrap with revision 139589?


-- 
H.J.


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread Andreas Tobler

H.J. Lu wrote:


It is a temporary branch, branches/ira-merge, to track
IRA related problems.


Same issue.


Does trunk bootstrap with revision 139589?



No, gcc version 4.4.0 20080905 (experimental) [trunk revision 140042] (GCC)

Andreas


Re: Bootstrap failure on sparc-sun-solaris2.10

2008-09-05 Thread H.J. Lu
On Fri, Sep 5, 2008 at 2:57 PM, Andreas Tobler [EMAIL PROTECTED] wrote:
 H.J. Lu wrote:

 It is a temporary branch, branches/ira-merge, to track
 IRA related problems.

 Same issue.

 Does trunk bootstrap with revision 139589?


 No, gcc version 4.4.0 20080905 (experimental) [trunk revision 140042] (GCC)


If trunk was broken at revision 139589, your problem isn't
related to IRA since IRA was merged at revision 139590.


-- 
H.J.


Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-11 Thread Christian Joensson
2007/9/10, John David Anglin [EMAIL PROTECTED]:
  I succeed past this failure if I revert Zdenek's iv-opts patch
 (r128272).

 Same here.  The failure also occurs on all hppa targets.

 Dave
 --
 J. David Anglin  [EMAIL PROTECTED]
 National Research Council of Canada  (613) 990-0752 (FAX: 
 952-6602)


here too, on sparc/sparc64 linux systems:

checking whether ln -s works... yes
checking for sparc64-unknown-linux-gnu-gcc...
/usr/local/src/trunk/objdir/./gcc/xgcc
-B/usr/local/src/trunk/objdir/./gcc/
-B/usr/local/sparc64-unknown-linux-gnu/bin/
-B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem
/usr/local/sparc64-unknown-linux-gnu/include -isystem
/usr/local/sparc64-unknown-linux-gnu/sys-include
checking for suffix of object files... configure: error: cannot
compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage2-target-libgcc] Error 1
make[2]: Leaving directory `/usr/local/src/trunk/objdir'


-- 
Cheers,

/ChJ


Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-11 Thread Christian Joensson
2007/9/10, John David Anglin [EMAIL PROTECTED]:
  I succeed past this failure if I revert Zdenek's iv-opts patch
 (r128272).

 Same here.  The failure also occurs on all hppa targets.

 Dave
 --
 J. David Anglin  [EMAIL PROTECTED]
 National Research Council of Canada  (613) 990-0752 (FAX: 
 952-6602)


here too, on sparc/sparc64 linux systems:

checking whether ln -s works... yes
checking for sparc64-unknown-linux-gnu-gcc...
/usr/local/src/trunk/objdir/./gcc/xgcc
-B/usr/local/src/trunk/objdir/./gcc/
-B/usr/local/sparc64-unknown-linux-gnu/bin/
-B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem
/usr/local/sparc64-unknown-linux-gnu/include -isystem
/usr/local/sparc64-unknown-linux-gnu/sys-include
checking for suffix of object files... configure: error: cannot
compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage2-target-libgcc] Error 1
make[2]: Leaving directory `/usr/local/src/trunk/objdir'


-- 
Cheers,

/ChJ


Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread Kaveh R. GHAZI
Rats, I'm getting another bootstap failure on sparc-sun-solaris2.10.
This time it happens in stage2 building libgcc.  What happens is that
when it runs configure for stage2 libgcc, I get:

checking for suffix of object files...
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

whereupon in config.log I see:

configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }


The stage2 gcc cannot compile this simple program.  The stage1
compiler can, so looks like stage2 was miscompiled.  Running it under
gdb doesn't yield any useful info.

This is fairly recent as I got a successful testresult here:
http://gcc.gnu.org/ml/gcc-testresults/2007-09/msg00402.html

The top of the gcc/ChangeLog from the working checkout was:

2007-09-07  Sterling Augustine  [EMAIL PROTECTED]

* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even
if there is no i-cache.


Is anyone else having a similar problem?

Thanks,
--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread Kaveh R. GHAZI
On Sun, 9 Sep 2007, David Edelsohn wrote:

 Kaveh The stage2 gcc cannot compile this simple program.  The stage1
 Kaveh compiler can, so looks like stage2 was miscompiled.  Running it under
 Kaveh gdb doesn't yield any useful info.

   I am seeing the same failure on AIX.  The SEGV on AIX is in
 postreload.c and if I recompile that file without optimization, the config
 test succeeds.
 David

Ditto.

Program received signal SIGSEGV, Segmentation fault.
0x002cf780 in reload_combine_note_store (dst=0xff0b90e0, set=value
optimized out, data=0x0)
at ../../egcc-SVN20070909/gcc/postreload.c:1018
1018  reg_state[i].store_ruid = reload_combine_ruid;
(gdb)


Any luck figuring out which patch broke it?

--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread David Edelsohn
 Kaveh R GHAZI writes:

Kaveh Program received signal SIGSEGV, Segmentation fault.
Kaveh 0x002cf780 in reload_combine_note_store (dst=0xff0b90e0, set=value
Kaveh optimized out, data=0x0)
Kaveh at ../../egcc-SVN20070909/gcc/postreload.c:1018
Kaveh 1018  reg_state[i].store_ruid = reload_combine_ruid;
Kaveh (gdb)

   That is the exact same failure and line for AIX.  Apparently all
Big Endian targets are affected.

Kaveh Any luck figuring out which patch broke it?

Not yet.

Candidates include:

r128239 (honza's simple dce/addressing passes) and then r128272 (the
iv-opt patch), and Richi's sccvn patch.

David




Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread David Edelsohn
I succeed past this failure if I revert Zdenek's iv-opts patch
(r128272).

David



Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread John David Anglin
 I succeed past this failure if I revert Zdenek's iv-opts patch
(r128272).

Same here.  The failure also occurs on all hppa targets.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread Kaveh R. GHAZI
Rats, I'm getting another bootstap failure on sparc-sun-solaris2.10.
This time it happens in stage2 building libgcc.  What happens is that
when it runs configure for stage2 libgcc, I get:

checking for suffix of object files...
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

whereupon in config.log I see:

configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }


The stage2 gcc cannot compile this simple program.  The stage1
compiler can, so looks like stage2 was miscompiled.  Running it under
gdb doesn't yield any useful info.

This is fairly recent as I got a successful testresult here:
http://gcc.gnu.org/ml/gcc-testresults/2007-09/msg00402.html

The top of the gcc/ChangeLog from the working checkout was:

2007-09-07  Sterling Augustine  [EMAIL PROTECTED]

* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even
if there is no i-cache.


Is anyone else having a similar problem?

Thanks,
--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread David Edelsohn
 Kaveh R GHAZI writes:

Kaveh Rats, I'm getting another bootstap failure on sparc-sun-solaris2.10.
Kaveh This time it happens in stage2 building libgcc.  What happens is that
Kaveh when it runs configure for stage2 libgcc, I get:

Kaveh checking for suffix of object files...
Kaveh configure: error: cannot compute suffix of object files: cannot compile
Kaveh See `config.log' for more details.

Kaveh whereupon in config.log I see:

Kaveh configure: failed program was:
Kaveh | /* confdefs.h.  */
Kaveh |
Kaveh | #define PACKAGE_NAME GNU C Runtime Library
Kaveh | #define PACKAGE_TARNAME libgcc
Kaveh | #define PACKAGE_VERSION 1.0
Kaveh | #define PACKAGE_STRING GNU C Runtime Library 1.0
Kaveh | #define PACKAGE_BUGREPORT 
Kaveh | /* end confdefs.h.  */
Kaveh |
Kaveh | int
Kaveh | main ()
Kaveh | {
Kaveh |
Kaveh |   ;
Kaveh |   return 0;
Kaveh | }


Kaveh The stage2 gcc cannot compile this simple program.  The stage1
Kaveh compiler can, so looks like stage2 was miscompiled.  Running it under
Kaveh gdb doesn't yield any useful info.

I am seeing the same failure on AIX.  The SEGV on AIX is in
postreload.c and if I recompile that file without optimization, the config
test succeeds.

David



Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread Kaveh R. GHAZI
On Sun, 9 Sep 2007, David Edelsohn wrote:

 Kaveh The stage2 gcc cannot compile this simple program.  The stage1
 Kaveh compiler can, so looks like stage2 was miscompiled.  Running it under
 Kaveh gdb doesn't yield any useful info.

   I am seeing the same failure on AIX.  The SEGV on AIX is in
 postreload.c and if I recompile that file without optimization, the config
 test succeeds.
 David

Ditto.

Program received signal SIGSEGV, Segmentation fault.
0x002cf780 in reload_combine_note_store (dst=0xff0b90e0, set=value
optimized out, data=0x0)
at ../../egcc-SVN20070909/gcc/postreload.c:1018
1018  reg_state[i].store_ruid = reload_combine_ruid;
(gdb)


Any luck figuring out which patch broke it?

--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread David Edelsohn
 Kaveh R GHAZI writes:

Kaveh Program received signal SIGSEGV, Segmentation fault.
Kaveh 0x002cf780 in reload_combine_note_store (dst=0xff0b90e0, set=value
Kaveh optimized out, data=0x0)
Kaveh at ../../egcc-SVN20070909/gcc/postreload.c:1018
Kaveh 1018  reg_state[i].store_ruid = reload_combine_ruid;
Kaveh (gdb)

   That is the exact same failure and line for AIX.  Apparently all
Big Endian targets are affected.

Kaveh Any luck figuring out which patch broke it?

Not yet.

Candidates include:

r128239 (honza's simple dce/addressing passes) and then r128272 (the
iv-opt patch), and Richi's sccvn patch.

David




Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread David Edelsohn
I succeed past this failure if I revert Zdenek's iv-opts patch
(r128272).

David



Re: Another BOOTSTRAP failure on sparc-sun-solaris2.10, stage2 miscompiled

2007-09-09 Thread John David Anglin
 I succeed past this failure if I revert Zdenek's iv-opts patch
(r128272).

Same here.  The failure also occurs on all hppa targets.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-07 Thread Christian Joensson
2007/9/6, Kaveh R. GHAZI [EMAIL PROTECTED]:
 (Sorry, first one bounced from gcc@ because it was over 400k)

 Hi Jan,

 On sparc-sun-solaris2.10, I'm getting new bootstrap failures in stage2
 complaining several times about rtl sharing.  I've included four .i files
 for modules that ICEed during stage2, and the cc1 invocations below.

 Would you please take a look?

 Thanks,
 --Kaveh

FWIW, I get a similar problem on sparc/sparc64 linux.

-- 
Cheers,

/ChJ


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-07 Thread Christian Joensson
2007/9/7, Christian Joensson [EMAIL PROTECTED]:
 2007/9/6, Kaveh R. GHAZI [EMAIL PROTECTED]:
  (Sorry, first one bounced from gcc@ because it was over 400k)
 
  Hi Jan,
 
  On sparc-sun-solaris2.10, I'm getting new bootstrap failures in stage2
  complaining several times about rtl sharing.  I've included four .i files
  for modules that ICEed during stage2, and the cc1 invocations below.
 
  Would you please take a look?
 
  Thanks,
  --Kaveh

 FWIW, I get a similar problem on sparc/sparc64 linux.

maybe I should have included this before:

/usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/
-B/usr/local/sparc64-unknown-linux-gnu/bin/ -c   -g -O2 -DIN_GCC   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros  -Wno-overlength-strings
-Werror -fno-common   -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc
-I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../libcpp/include -I/usr/local/gmp-mpfr/include
-I/usr/local/gmp-mpfr/include -I../../gcc/gcc/../libdecnumber
-I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber
../../gcc/gcc/c-format.c -o c-format.o
../../gcc/gcc/c-format.c: In function 'check_format_string':
../../gcc/gcc/c-format.c:150: error: invalid rtl sharing found in the insn
(insn 341 337 342 ../../gcc/gcc/c-format.c:145 (sequence [
(jump_insn 338 337 216 (return) 394 {*return_internal}
(expr_list:REG_BR_PRED (const_int 12 [0xc])
(nil)))
(insn 216 338 342 (set (reg:QI 24 %i0 [orig:111 D.17641 ] [111])
(const_int 0 [0x0])) 47 {*movqi_insn}
(expr_list:REG_EQUAL (const_int 0 [0x0])
(nil)))
]) -1 (nil))
../../gcc/gcc/c-format.c:150: error: shared rtx
(insn 216 338 342 (set (reg:QI 24 %i0 [orig:111 D.17641 ] [111])
(const_int 0 [0x0])) 47 {*movqi_insn} (expr_list:REG_EQUAL
(const_int 0 [0x0])
(nil)))
../../gcc/gcc/c-format.c:150: internal compiler error: internal
consistency failure
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[3]: *** [c-format.o] Error 1
make[3]: Leaving directory `/usr/local/src/trunk/objdir/gcc'
make[2]: *** [all-stage3-gcc] Error 2
make[2]: Leaving directory `/usr/local/src/trunk/objdir'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/usr/local/src/trunk/objdir'
make: *** [all] Error 2

This is using Fri Sep  7 05:44:14 UTC 2007 (revision 128228)

-- 
Cheers,

/ChJ


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-07 Thread Kaveh R. GHAZI
On Thu, 6 Sep 2007, Jan Hubicka wrote:

 Ah, I see.
 The attached patch seems to work on my testcase too.

 Honza

 Index: reorg.c
 ===
 --- reorg.c   (revision 128145)
 +++ reorg.c   (working copy)
 @@ -3863,17 +3863,6 @@ dbr_schedule (rtx first)
relax_delay_slots (first);
  }

 -  /* Delete any USE insns made by update_block; subsequent passes don't need
 - them or know how to deal with them.  */
 -  for (insn = first; insn; insn = next)
 -{
 -  next = NEXT_INSN (insn);
 -
 -  if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
 -INSN_P (XEXP (PATTERN (insn), 0)))
 - next = delete_related_insns (insn);
 -}
 -
/* If we made an end of function label, indicate that it is now
   safe to delete it by undoing our prior adjustment to LABEL_NUSES.
   If it is now unused, delete it.  */
 @@ -3885,6 +3874,17 @@ dbr_schedule (rtx first)
  make_return_insns (first);
  #endif

 +  /* Delete any USE insns made by update_block; subsequent passes don't need
 + them or know how to deal with them.  */
 +  for (insn = first; insn; insn = next)
 +{
 +  next = NEXT_INSN (insn);
 +
 +  if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
 +INSN_P (XEXP (PATTERN (insn), 0)))
 + next = delete_related_insns (insn);
 +}
 +
obstack_free (unfilled_slots_obstack, unfilled_firstobj);

/* It is not clear why the line below is needed, but it does seem to be.  
 */


This second patch also allows bootstrap to complete on my sparc box.

Thanks,
--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-07 Thread Jan Hubicka
 
 
 This second patch also allows bootstrap to complete on my sparc box.

Thanks for testing and good news,
I will commit the patch

Honza
 
   Thanks,
   --Kaveh
 --
 Kaveh R. Ghazi[EMAIL PROTECTED]


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Andreas Tobler

Kaveh R. GHAZI wrote:

(Sorry, first one bounced from gcc@ because it was over 400k)

Hi Jan,

On sparc-sun-solaris2.10, I'm getting new bootstrap failures in stage2
complaining several times about rtl sharing.  I've included four .i files
for modules that ICEed during stage2, and the cc1 invocations below.

Would you please take a look?


Jan proposed the below patch.
I successfully tested it and I'm testing now.

Regards,
Andreas

Index: reorg.c
===
--- reorg.c (revision 128181)
+++ reorg.c (working copy)
@@ -3991,6 +3991,9 @@
  if (GET_CODE (pat) == SEQUENCE)
insn = XVECEXP (pat, 0, 0);
}
+   if (INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
+  INSN_P (XEXP (PATTERN (insn), 0)))
+   delete_insn (insn);
   if (!JUMP_P (insn))
continue;



Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Jan Hubicka
 (Sorry, first one bounced from gcc@ because it was over 400k)
 
 Hi Jan,
 
 On sparc-sun-solaris2.10, I'm getting new bootstrap failures in stage2
 complaining several times about rtl sharing.  I've included four .i files
 for modules that ICEed during stage2, and the cc1 invocations below.
 
 Would you please take a look?

Hi,
I already have fix for this just waiting for Andreas Tobler to verify
that it does what expected.  If you could give it a try, it would be
nice.

The problem is 

/* Called when INSN is being moved from a location near the target of a jump.
   We leave a marker of the form (use (INSN)) immediately in front
   of WHERE for mark_target_live_regs.  These markers will be deleted when
   reorg finishes.

   We used to try to update the live status of registers if WHERE is at
   the start of a basic block, but that can't work since we may remove a
   BARRIER in relax_delay_slots.  */

static void
update_block (rtx insn, rtx where)
{
  /* Ignore if this was in a delay slot and it came from the target of
 a branch.  */
  if (INSN_FROM_TARGET_P (insn))
return;

  emit_insn_before (gen_rtx_USE (VOIDmode, insn), where);

  /* INSN might be making a value live in a block where it didn't use to
 be.  So recompute liveness information for this block.  */

  incr_ticks_for_insn (insn);
}

Producing USE expressions embedding whole INSN.  The comment promise
that those will be removed before reorg ends, but they are not.  This
patch just adds simple code to remove them in very last dbr_schedule
pass. 

Honza

Index: reorg.c
===
--- reorg.c (revision 128145)
+++ reorg.c (working copy)
@@ -3991,6 +3991,9 @@ dbr_schedule (rtx first)
  if (GET_CODE (pat) == SEQUENCE)
insn = XVECEXP (pat, 0, 0);
}
+  if (INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
+  INSN_P (XEXP (PATTERN (insn), 0)))
+   delete_insn (insn);
   if (!JUMP_P (insn))
continue;
 



Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Jan Hubicka
 Hi,
 I already have fix for this just waiting for Andreas Tobler to verify
 that it does what expected.  If you could give it a try, it would be
 nice.
 
 The problem is 
 
 /* Called when INSN is being moved from a location near the target of a jump.
We leave a marker of the form (use (INSN)) immediately in front
of WHERE for mark_target_live_regs.  These markers will be deleted when
reorg finishes.
 
We used to try to update the live status of registers if WHERE is at
the start of a basic block, but that can't work since we may remove a
BARRIER in relax_delay_slots.  */
 
 static void
 update_block (rtx insn, rtx where)
 {
   /* Ignore if this was in a delay slot and it came from the target of
  a branch.  */
   if (INSN_FROM_TARGET_P (insn))
 return;
 
   emit_insn_before (gen_rtx_USE (VOIDmode, insn), where);
 
   /* INSN might be making a value live in a block where it didn't use to
  be.  So recompute liveness information for this block.  */
 
   incr_ticks_for_insn (insn);
 }
 
 Producing USE expressions embedding whole INSN.  The comment promise
 that those will be removed before reorg ends, but they are not.  This
 patch just adds simple code to remove them in very last dbr_schedule
 pass. 
 
 Honza

Since patch seems to work for Andreas, would it be OK?
* recog.c (dbr_schedule): Remove placeholder USE insns
previously inserted by update_block.
 
 Index: reorg.c
 ===
 --- reorg.c   (revision 128145)
 +++ reorg.c   (working copy)
 @@ -3991,6 +3991,9 @@ dbr_schedule (rtx first)
 if (GET_CODE (pat) == SEQUENCE)
   insn = XVECEXP (pat, 0, 0);
   }
 +  if (INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
 +INSN_P (XEXP (PATTERN (insn), 0)))
 + delete_insn (insn);
if (!JUMP_P (insn))
   continue;
  


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Ian Lance Taylor
Jan Hubicka [EMAIL PROTECTED] writes:

 Producing USE expressions embedding whole INSN.  The comment promise
 that those will be removed before reorg ends, but they are not.  This
 patch just adds simple code to remove them in very last dbr_schedule
 pass. 

I see code in dbr_schedule to delete them:

  /* Delete any USE insns made by update_block; subsequent passes don't need
 them or know how to deal with them.  */
  for (insn = first; insn; insn = next)
{
  next = NEXT_INSN (insn);

  if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
   INSN_P (XEXP (PATTERN (insn), 0)))
next = delete_related_insns (insn);
}

Why is that not working?

Ian


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Jan Hubicka
 Jan Hubicka [EMAIL PROTECTED] writes:
 
  Producing USE expressions embedding whole INSN.  The comment promise
  that those will be removed before reorg ends, but they are not.  This
  patch just adds simple code to remove them in very last dbr_schedule
  pass. 
 
 I see code in dbr_schedule to delete them:
 
   /* Delete any USE insns made by update_block; subsequent passes don't need
  them or know how to deal with them.  */
   for (insn = first; insn; insn = next)
 {
   next = NEXT_INSN (insn);
 
   if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
  INSN_P (XEXP (PATTERN (insn), 0)))
   next = delete_related_insns (insn);
 }
 
 Why is that not working?

Hmm, good catch. I didn't noticed that code.
The problem is that update_block is still called after this loop is
done, at least moving that loop down past the loop just bellow it solves
the ICE too.

I must admit I have no idea what those placeholders are good for...

Honza
 
 Ian


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Ian Lance Taylor
Jan Hubicka [EMAIL PROTECTED] writes:

  Jan Hubicka [EMAIL PROTECTED] writes:
  
   Producing USE expressions embedding whole INSN.  The comment promise
   that those will be removed before reorg ends, but they are not.  This
   patch just adds simple code to remove them in very last dbr_schedule
   pass. 
  
  I see code in dbr_schedule to delete them:
  
/* Delete any USE insns made by update_block; subsequent passes don't need
   them or know how to deal with them.  */
for (insn = first; insn; insn = next)
  {
next = NEXT_INSN (insn);
  
if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
 INSN_P (XEXP (PATTERN (insn), 0)))
  next = delete_related_insns (insn);
  }
  
  Why is that not working?
 
 Hmm, good catch. I didn't noticed that code.
 The problem is that update_block is still called after this loop is
 done, at least moving that loop down past the loop just bellow it solves
 the ICE too.

Ah, it's from the calls to fill_simple_delay_slots in
make_return_insns.  The Delete any USE insns loop needs to move
below that.

 I must admit I have no idea what those placeholders are good for...

They tell mark_target_live_regs that the registers used by the insn
which was moved are live.

Ian


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Jan Hubicka
 Jan Hubicka [EMAIL PROTECTED] writes:
 
   Jan Hubicka [EMAIL PROTECTED] writes:
   
Producing USE expressions embedding whole INSN.  The comment promise
that those will be removed before reorg ends, but they are not.  This
patch just adds simple code to remove them in very last dbr_schedule
pass. 
   
   I see code in dbr_schedule to delete them:
   
 /* Delete any USE insns made by update_block; subsequent passes don't 
   need
them or know how to deal with them.  */
 for (insn = first; insn; insn = next)
   {
 next = NEXT_INSN (insn);
   
 if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
INSN_P (XEXP (PATTERN (insn), 0)))
 next = delete_related_insns (insn);
   }
   
   Why is that not working?
  
  Hmm, good catch. I didn't noticed that code.
  The problem is that update_block is still called after this loop is
  done, at least moving that loop down past the loop just bellow it solves
  the ICE too.
 
 Ah, it's from the calls to fill_simple_delay_slots in
 make_return_insns.  The Delete any USE insns loop needs to move
 below that.
 
  I must admit I have no idea what those placeholders are good for...
 
 They tell mark_target_live_regs that the registers used by the insn
 which was moved are live.

Ah, I see.
The attached patch seems to work on my testcase too.

Honza

Index: reorg.c
===
--- reorg.c (revision 128145)
+++ reorg.c (working copy)
@@ -3863,17 +3863,6 @@ dbr_schedule (rtx first)
   relax_delay_slots (first);
 }
 
-  /* Delete any USE insns made by update_block; subsequent passes don't need
- them or know how to deal with them.  */
-  for (insn = first; insn; insn = next)
-{
-  next = NEXT_INSN (insn);
-
-  if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
-  INSN_P (XEXP (PATTERN (insn), 0)))
-   next = delete_related_insns (insn);
-}
-
   /* If we made an end of function label, indicate that it is now
  safe to delete it by undoing our prior adjustment to LABEL_NUSES.
  If it is now unused, delete it.  */
@@ -3885,6 +3874,17 @@ dbr_schedule (rtx first)
 make_return_insns (first);
 #endif
 
+  /* Delete any USE insns made by update_block; subsequent passes don't need
+ them or know how to deal with them.  */
+  for (insn = first; insn; insn = next)
+{
+  next = NEXT_INSN (insn);
+
+  if (NONJUMP_INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
+  INSN_P (XEXP (PATTERN (insn), 0)))
+   next = delete_related_insns (insn);
+}
+
   obstack_free (unfilled_slots_obstack, unfilled_firstobj);
 
   /* It is not clear why the line below is needed, but it does seem to be.  */


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Ian Lance Taylor
Jan Hubicka [EMAIL PROTECTED] writes:

 The attached patch seems to work on my testcase too.

This patch is OK if it passes testing and gets a ChangeLog entry.

Thanks.

Ian


Re: RTL sharing bootstrap failure on sparc-sun-solaris2.10

2007-09-06 Thread Kaveh R. GHAZI
On Thu, 6 Sep 2007, Jan Hubicka wrote:

 Hi,
 I already have fix for this just waiting for Andreas Tobler to verify
 that it does what expected.  If you could give it a try, it would be
 nice.
 Honza

 Index: reorg.c
 ===
 --- reorg.c   (revision 128145)
 +++ reorg.c   (working copy)
 @@ -3991,6 +3991,9 @@ dbr_schedule (rtx first)
 if (GET_CODE (pat) == SEQUENCE)
   insn = XVECEXP (pat, 0, 0);
   }
 +  if (INSN_P (insn)  GET_CODE (PATTERN (insn)) == USE
 +INSN_P (XEXP (PATTERN (insn), 0)))
 + delete_insn (insn);
if (!JUMP_P (insn))
   continue;

FWIW, this patch fixes the problem.  Test results here:
http://gcc.gnu.org/ml/gcc-testresults/2007-09/msg00313.html

I'll try again with your updated version tonight.

--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


[Bug bootstrap/32312] [4.3 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-13 Thread ghazi at gcc dot gnu dot org


--- Comment #3 from ghazi at gcc dot gnu dot org  2007-06-13 15:45 ---
Fixed:
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00615.html

by this patch:
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00842.html


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug bootstrap/32312] New: [4.3.0 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-12 Thread ghazi at gcc dot gnu dot org
I'm getting a new bootstrap failure on sparc-sun-solaris2.10 in stage1 building
libgcc2.a:

/tmp/kg/pat/build/./gcc/xgcc -B/tmp/kg/pat/build/./gcc/
-B/usr/local/sparc-sun-solaris2.10/bin/ -B/usr/local/sparc-sun-solaris2.10/lib/
-isystem /usr/local/sparc-sun-solaris2.10/include -isystem
/usr/local/sparc-sun-solaris2.10/sys-include -O2 -g -O2  -O2 -g  -DIN_GCC-W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I../../../egcc-SVN20070612/libgcc -I../../../egcc-SVN20070612/libgcc/.
-I../../../egcc-SVN20070612/libgcc/../gcc
-I../../../egcc-SVN20070612/libgcc/../include  -o _absvdi2.o -MT _absvdi2.o -MD
-MP -MF _absvdi2.dep -DL_absvdi2 -c
../../../egcc-SVN20070612/libgcc/../gcc/libgcc2.c \

../../../egcc-SVN20070612/libgcc/../gcc/libgcc2.c: In function '__absvdi2':
../../../egcc-SVN20070612/libgcc/../gcc/libgcc2.c:280: internal compiler error:
Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
make[2]: *** [_absvdi2.o] Error 1


-- 
   Summary: [4.3.0 regression] bootstrap failure on sparc-sun-
solaris2.10
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: blocker
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ghazi at gcc dot gnu dot org
GCC target triplet: sparc-sun-solaris2.10


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



[Bug bootstrap/32312] [4.3.0 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-12 Thread ghazi at gcc dot gnu dot org


--- Comment #1 from ghazi at gcc dot gnu dot org  2007-06-12 20:37 ---
This worked as of June 9th, so it's recent.

The SEGV happens because df (used in the macro DF_REG_DEF_COUNT) is nil:



signal SEGV (no mapping at the fault address) in sparc_check_64 at line 7677 in
file sparc.c
 7677  DF_REG_DEF_COUNT (REGNO (y)) == 1)
(dbx) where
=[1] sparc_check_64(x = 0xff168620, insn = 0xff123810), line 7677 in sparc.c
  [2] output_v8plus_shift(operands = 0x1f07484, insn = 0xff123810, opcode =
0x1e8e364 srax), line 7741 in sparc.c
  [3] output_363(operands = 0x1f07484, insn = 0xff123810), line 6499 in
sparc.md
  [4] get_insn_template(code = 363, insn = 0xff123810), line 1584 in final.c
  [5] final_scan_insn(insn = 0xff123810, file = 0x1f013c8, optimize = 2,
nopeepholes = 0, seen = 0xffbff22c), line 2460 in final.c
  [6] final(first = 0xff123658, file = 0x1f013c8, optimize = 2), line 1569 in
final.c
  [7] rest_of_handle_final(), line 3973 in final.c
  [8] execute_one_pass(pass = 0x1ec37ec), line 1124 in passes.c
  [9] execute_pass_list(pass = 0x1ec37ec), line 1177 in passes.c
  [10] execute_pass_list(pass = 0x1ec3d94), line 1178 in passes.c
  [11] execute_pass_list(pass = 0x1ec3d60), line 1178 in passes.c
  [12] tree_rest_of_compilation(fndecl = 0xff154d20), line 406 in
tree-optimize.c
  [13] c_expand_body(fndecl = 0xff154d20), line 4331 in c-common.c
  [14] cgraph_expand_function(node = 0xff15fb30), line 1073 in cgraphunit.c
  [15] cgraph_expand_all_functions(), line 1142 in cgraphunit.c
  [16] cgraph_optimize(), line 1349 in cgraphunit.c
  [17] c_write_global_declarations(), line 7911 in c-decl.c
  [18] compile_file(), line 1064 in toplev.c
  [19] do_compile(), line 2150 in toplev.c
  [20] toplev_main(argc = 25U, argv = 0xffbff92c), line 2182 in toplev.c
  [21] main(argc = 25, argv = 0xffbff92c), line 35 in main.c
(dbx) list
 7677  DF_REG_DEF_COUNT (REGNO (y)) == 1)
 7678   set_once = 1;
 7679
 7680 if (insn == 0)
 7681   {
 7682 if (set_once)
 7683   insn = get_last_insn_anywhere ();
 7684 else
 7685   return 0;
 7686   }
(dbx) print df
df = (nil)
(dbx)


-- 


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



[Bug bootstrap/32312] [4.3.0 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-12 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug bootstrap/32312] [4.3.0 regression] bootstrap failure on sparc-sun-solaris2.10

2007-06-12 Thread ghazi at gcc dot gnu dot org


--- Comment #2 from ghazi at gcc dot gnu dot org  2007-06-12 20:59 ---
Created an attachment (id=13693)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13693action=view)
testcase for ICE

Target sparc-sun-solaris2.10 and run:

cc1 -fpreprocessed libgcc2.i -quiet -dumpbase libgcc2.c -mcpu=v9 -auxbase-strip
_absvdi2.o -g -g -g -O2 -O2 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -version -fPIC -o libgcc2.s


-- 


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



Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-25 Thread Zack Weinberg
On Tue, Jan 24, 2006 at 11:55:32PM -0500, Kaveh R. Ghazi wrote:
 Okay, now I get:
[...]
build/gencondmd.c, line 60: incomplete struct/union/enum c_test: 
 insn_conditions
build/gencondmd.c, line 1952: warning: syntax error:  empty initializer
build/gencondmd.c, line 1952: cannot recover from previous errors
cc: acomp failed for build/gencondmd.c
make[3]: *** [build/gencondmd.o] Error 2

On Wed, Jan 25, 2006 at 02:04:04PM +0100, Andreas Krebbel wrote:
 the insn-conditions.md file doesn't preserve escaping of
 characters. So in the s390.md example
 CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', \K\)
 becomes
 CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', K)
 which a syntax error for the gen... tools.

The appended patch (superseding the earlier one, Kaveh) should fix
both these issues.  I have to run off to school and won't be able
to do anything more till this evening, but please let me know how
it goes.

zw

==
--- genconditions.c (revision 110242)
+++ genconditions.c (local)
@@ -52,9 +52,14 @@ write_header (void)
machine description file.  */\n\
 \n\
 #include \bconfig.h\\n\
-#include \insn-constants.h\\n);
+#include \system.h\\n);
 
   puts (\
+/* It is necessary, but not entirely safe, to include the headers below\n\
+   in a generator program.  As a defensive measure, don't do so when the\n\
+   table isn't going to have anything in it.  */\n\
+#if GCC_VERSION = 3001\n\
+\n\
 /* Do not allow checking to confuse the issue.  */\n\
 #undef ENABLE_CHECKING\n\
 #undef ENABLE_TREE_CHECKING\n\
@@ -64,9 +69,9 @@ write_header (void)
 #undef ENABLE_GC_ALWAYS_COLLECT\n);
 
   puts (\
-#include \system.h\\n\
 #include \coretypes.h\\n\
 #include \tm.h\\n\
+#include \insn-constants.h\\n\
 #include \rtl.h\\n\
 #include \tm_p.h\\n\
 #include \function.h\\n);
@@ -86,8 +91,7 @@ write_header (void)
 #include \hard-reg-set.h\\n\
 #include \resource.h\\n\
 #include \toplev.h\\n\
-#include \reload.h\\n\
-#include \gensupport.h\\n);
+#include \reload.h\\n);
 
   if (saw_eh_return)
 puts (#define HAVE_eh_return 1);
@@ -97,7 +101,9 @@ write_header (void)
 /* Dummy external declarations.  */\n\
 extern rtx insn;\n\
 extern rtx ins1;\n\
-extern rtx operands[];\n);
+extern rtx operands[];\n\
+\n\
+#endif /* gcc = 3.0.1 */\n);
 }
 
 /* Write out one entry in the conditions table, using the data pointed
@@ -118,12 +124,14 @@ write_one_condition (void **slot, void *
   fputs (  { \, stdout);
   for (p = test-expr; *p; p++)
 {
-  if (*p == '\n')
-   fputs (\\n\\\n, stdout);
-  else if (*p == '')
-   fputs (\\\, stdout);
-  else
-   putchar (*p);
+  switch (*p)
+   {
+   case '\n': fputs (\\n\\, stdout); break;
+   case '\\':
+   case '\': putchar ('\\'); break;
+   default: break;
+   }
+  putchar (*p);
 }
 
   printf (\,\n__builtin_constant_p );
@@ -140,20 +148,29 @@ static void
 write_conditions (void)
 {
   puts (\
+/* Structure definition duplicated from gensupport.h rather than\n\
+   drag in that file and its dependencies.  */\n\
+struct c_test\n\
+{\n\
+  const char *expr;\n\
+  int value;\n\
+};\n);
+
+  puts (\
 /* This table lists each condition found in the machine description.\n\
Each condition is mapped to its truth value (0 or 1), or -1 if that\n\
-   cannot be calculated at compile time. */\n\
-\n\
-static const struct c_test insn_conditions[] = {\n \
-/* If we don't have __builtin_constant_p, or it's not acceptable in array\n\
+   cannot be calculated at compile time.\n\
+   If we don't have __builtin_constant_p, or it's not acceptable in array\n\
initializers, fall back to assuming that all conditions potentially\n\
vary at run time.  It works in 3.0.1 and later; 3.0 only when not\n\
optimizing.  */\n\
-#if GCC_VERSION = 3001);
+\n\
+static const struct c_test insn_conditions[] = {\n\
+#if GCC_VERSION = 3001\n);
 
   traverse_c_tests (write_one_condition, 0);
 
-  puts (#endif\n};\n);
+  puts (\n#endif /* gcc = 3.0.1 */\n};\n);
 }
 
 /* Emit code which will convert the C-format table to a
@@ -163,16 +180,31 @@ static const struct c_test insn_conditio
 static void
 write_writer (void)
 {
-  puts (int\nmain(void)\n{\n\
-  unsigned int i;\n\
-\n\
-  puts (\(define_conditions [\);\n\
-  for (i = 0; i  ARRAY_SIZE (insn_conditions); i++)\n\
-printf (\  (%d \\\%s\\\)\\n\,\n\
-   insn_conditions[i].value, insn_conditions[i].expr);\n\
-  puts (\])\);\n\
-  fflush (stdout);\n\
-  return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);\n});
+  puts (int\n
+   main(void)\n
+   {\n
+ unsigned int i;\n
+  const char *p;\n
+  puts (\(define_conditions [\);\n
+ for (i = 0; i  ARRAY_SIZE (insn_conditions); i++)\n
+   {\n
+ printf (\  (%d , insn_conditions[i].value);\n
+ for (p = insn_conditions[i].expr; *p; p++)\n
+

Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-25 Thread Kaveh R. Ghazi
  The appended patch (superseding the earlier one, Kaveh) should fix
  both these issues.  I have to run off to school and won't be able to
  do anything more till this evening, but please let me know how it
  goes.
  zw

Zack - using your latest genconditions.c patch plus this one:
http://gcc.gnu.org/ml/gcc/2006-01/msg00951.html
was sufficient to get a C-only bootstrap working on solaris2.10 using
cc for stage1.

I'm going to run a full test, but that'll take many many hours
longer.

Thanks,
--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-25 Thread Kaveh R. Ghazi
  Zack - using your latest genconditions.c patch plus this one:
  http://gcc.gnu.org/ml/gcc/2006-01/msg00951.html
  was sufficient to get a C-only bootstrap working on solaris2.10 using
  cc for stage1.
  
  I'm going to run a full test, but that'll take many many hours
  longer.

Ok, I've now completed a full bootstrap and testsuite run with the two
patches on sparc-solaris2.10.  There are many java failures so we're
not out of the woods.  But at least we're back to bootstrapping.

http://gcc.gnu.org/ml/gcc-testresults/2006-01/msg01332.html

Thanks,
--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Bootstrap failure on sparc*-sun-solaris2.10

2006-01-24 Thread Kaveh R. Ghazi
I'm getting the following new bootstrap failure on both
sparc-sun-solaris2.10 and sparc64-sun-solaris2.10 when using cc for
stage1:

  cc -xildoff -xarch=v9 -c   -g -DIN_GCC -DHAVE_CONFIG_H
-DGENERATOR_FILE -I. -Ibuild -I../../egcc-SVN20060124/gcc
-I../../egcc-SVN20060124/gcc/build
--I../../egcc-SVN20060124/gcc/../include -I./../intl
--I../../egcc-SVN20060124/gcc/../libcpp/include
--I/caip/u12/kishgcc/gcc-testing/_gmp64/include
--I../../egcc-SVN20060124/gcc/../libdecnumber -I../libdecnumber -o
-build/gencondmd.o build/gencondmd.c
  build/gencondmd.c, line 1943: warning: syntax error:  empty initializer
  build/gencondmd.c, line 1943: warning: null dimension: insn_conditions
  build/gencondmd.c, line 1951: warning: null dimension: sizeof()
  cc -xildoff -xarch=v9 -g -DIN_GCC -DHAVE_CONFIG_H -DGENERATOR_FILE -o
  build/gencondmd \ build/gencondmd.o
  ../build-sparc64-sun-solaris2.10/libiberty/libiberty.a
  Undefined   first referenced
   symbol in file
  vec_heap_p_reserve  build/gencondmd.o
  bitmap_zero_bitsbuild/gencondmd.o
  vec_gc_p_reservebuild/gencondmd.o
  vec_gc_o_reservebuild/gencondmd.o
  ggc_freebuild/gencondmd.o
  fancy_abort build/gencondmd.o
  ld: fatal: Symbol referencing errors. No output written to build/gencondmd

At least some of this (e.g. bitmap_zero_bits) is due to uses in static
inline functions where inline gets defined to nothing for !GCC and
therefore the function is not eliminated.  I made some progress by
linking with:

build/vec.o build/ggc-none.o $(BUILD_ERRORS)

however I still had a reference to bitmap_zero_bits and I don't see
that a build copy of bitmap.o is ever built.  I don't like this
solution anyway because it isn't supposedly necessary to link in the
extra objects during stage2 where we have GCC and inline gets turned
on again.

I'm also not feeling comfy given the warnings about null dimensions
above.

--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-24 Thread Kaveh R. Ghazi

  Not this issue again :(.
  I thought I fixed it the last time it came up.
  -- Pinski

URL?

--
Kaveh R. Ghazi  [EMAIL PROTECTED]


Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-24 Thread Andrew Pinski


On Jan 24, 2006, at 10:41 PM, Kaveh R. Ghazi wrote:




Not this issue again :(.
I thought I fixed it the last time it came up.
-- Pinski


URL?



Maybe I did not fix it but it was a problem in the past.

This was PR 18058 for 4.0.0.

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

-- Pinski



Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-24 Thread Zack Weinberg
On Tue, Jan 24, 2006 at 10:29:08PM -0500, Kaveh R. Ghazi wrote:
 I'm getting the following new bootstrap failure on both
 sparc-sun-solaris2.10 and sparc64-sun-solaris2.10 when using cc for
 stage1:
 
   build/gencondmd.c, line 1943: warning: syntax error:  empty initializer
   build/gencondmd.c, line 1943: warning: null dimension: insn_conditions
   build/gencondmd.c, line 1951: warning: null dimension: sizeof()
   cc -xildoff -xarch=v9 -g -DIN_GCC -DHAVE_CONFIG_H -DGENERATOR_FILE -o
   build/gencondmd \ build/gencondmd.o
   ../build-sparc64-sun-solaris2.10/libiberty/libiberty.a
   Undefined   first referenced
symbol in file
   vec_heap_p_reserve  build/gencondmd.o
   bitmap_zero_bitsbuild/gencondmd.o
   vec_gc_p_reservebuild/gencondmd.o
   vec_gc_o_reservebuild/gencondmd.o
   ggc_freebuild/gencondmd.o
   fancy_abort build/gencondmd.o

I'm not entirely understanding why this breaks now when insn-conditions.o
was fine, but a potential big-hammer fix is to put
#if GCC_VERSION = 3001 ... #endif around most of the includes, like in the
appended patch.  Would you please try it?

zw

* genconditions.c (write_header): In generated code, #if
out all headers and fake declarations, except bconfig.h
and system.h, when not compiling with GCC = 3.0.1.
(write_conditions): Tweak commentary in generated code.

==
--- genconditions.c (revision 110239)
+++ genconditions.c (local)
@@ -52,9 +52,14 @@ write_header (void)
machine description file.  */\n\
 \n\
 #include \bconfig.h\\n\
-#include \insn-constants.h\\n);
+#include \system.h\\n);
 
   puts (\
+/* It is necessary, but not entirely safe, to include the headers below\n\
+   in a generator program.  As a defensive measure, don't do so when the\n\
+   table isn't going to have anything in it.  */\n\
+#if GCC_VERSION = 3001\n\
+\n\
 /* Do not allow checking to confuse the issue.  */\n\
 #undef ENABLE_CHECKING\n\
 #undef ENABLE_TREE_CHECKING\n\
@@ -64,9 +69,9 @@ write_header (void)
 #undef ENABLE_GC_ALWAYS_COLLECT\n);
 
   puts (\
-#include \system.h\\n\
 #include \coretypes.h\\n\
 #include \tm.h\\n\
+#include \insn-constants.h\\n\
 #include \rtl.h\\n\
 #include \tm_p.h\\n\
 #include \function.h\\n);
@@ -97,7 +102,9 @@ write_header (void)
 /* Dummy external declarations.  */\n\
 extern rtx insn;\n\
 extern rtx ins1;\n\
-extern rtx operands[];\n);
+extern rtx operands[];\n\
+\n\
+#endif /* gcc = 3.0.1 */\n);
 }
 
 /* Write out one entry in the conditions table, using the data pointed
@@ -142,18 +149,18 @@ write_conditions (void)
   puts (\
 /* This table lists each condition found in the machine description.\n\
Each condition is mapped to its truth value (0 or 1), or -1 if that\n\
-   cannot be calculated at compile time. */\n\
-\n\
-static const struct c_test insn_conditions[] = {\n \
-/* If we don't have __builtin_constant_p, or it's not acceptable in array\n\
+   cannot be calculated at compile time.\n\
+   If we don't have __builtin_constant_p, or it's not acceptable in array\n\
initializers, fall back to assuming that all conditions potentially\n\
vary at run time.  It works in 3.0.1 and later; 3.0 only when not\n\
optimizing.  */\n\
-#if GCC_VERSION = 3001);
+\n\
+static const struct c_test insn_conditions[] = {\n\
+#if GCC_VERSION = 3001\n);
 
   traverse_c_tests (write_one_condition, 0);
 
-  puts (#endif\n};\n);
+  puts (\n#endif /* gcc = 3.0.1 */\n};\n);
 }
 
 /* Emit code which will convert the C-format table to a


Re: Bootstrap failure on sparc*-sun-solaris2.10

2006-01-24 Thread Kaveh R. Ghazi
  I'm not entirely understanding why this breaks now when
  insn-conditions.o was fine, but a potential big-hammer fix is to put
  #if GCC_VERSION = 3001 ... #endif around most of the includes, like
  in the appended patch.  Would you please try it?
  zw
  
   * genconditions.c (write_header): In generated code, #if
   out all headers and fake declarations, except bconfig.h
   and system.h, when not compiling with GCC = 3.0.1.
   (write_conditions): Tweak commentary in generated code.

Okay, now I get:

   cc -c -g -DIN_GCC -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild
 -I../../egcc-SVN20060124/gcc -I../../egcc-SVN20060124/gcc/build
 -I../../egcc-SVN20060124/gcc/../include
 -I../../egcc-SVN20060124/gcc/../libcpp/include
 -I../../egcc-SVN20060124/gcc/../libdecnumber -I../libdecnumber -o
 build/gencondmd.o build/gencondmd.c
   build/gencondmd.c, line 60: incomplete struct/union/enum c_test: 
insn_conditions
   build/gencondmd.c, line 1952: warning: syntax error:  empty initializer
   build/gencondmd.c, line 1952: cannot recover from previous errors
   cc: acomp failed for build/gencondmd.c
   make[3]: *** [build/gencondmd.o] Error 2
   
(I'm going to sleep, so I won't be able to test anything more until
tomorrow.)

--
Kaveh R. Ghazi  [EMAIL PROTECTED]