970917 on mips-sgi-irix6.2, haifa disabled: many problems

Jeffrey A Law law@cygnus.com
Tue Sep 23 00:46:00 GMT 1997


  > For the C compiler the failures fall into three categories:
  > 
  > 1) xgcc: Internal compiler error: program cc1 got fatal signal 11
  > 
  > This only happens for c-torture/compile/961203-1.c, and appears to be
  > linked to kernel messages like this:
This is a known problem.  It can be safely ignored for now.

  > 2) dwarf2out.c:1073: failed assertion `cfa_store_reg == STACK_POINTER_REGNU
  > M'
  > xgcc: Internal compiler error: program cc1 got fatal signal 6
  > 
  > This accounts for most of the failures: 
  > compile/920723-1.c
  > compile/920501-4.c
  > compile/920501-12.c
  > execute/920410-1.c compilation
  > execute/921113-1.c compilation
  > execute/921208-2.c compilation
  > execute/930106-1.c compilation
  > execute/memcpy-1.c compilation
  > unsorted/memtst.c
  > unsorted/msp.c
  > unsorted/bcopy.c
I believe this has been fixed for the next snapshot.

  > This happens irrespective of optimization level.
  > 
  > 3) Internal error--insn does not satisfy its constraints:
  >   (insn 31 32 4 (set (reg:DF 35 $f3)
  >         (reg:DF 84)) 193 {movdf_internal1} (nil)
  >     (nil))
  > xgcc: Internal compiler error: program cc1 got fatal signal 6
  > FAIL: gcc.c-torture/execute/961223-1.c compilation,  -O0 
Not sure, we'll have to look further into this.


  > One of the C++ unexpected failures is the `cfa_store_reg' assertion
  > failure again (g++.jason/mangle3.C).  I notice that the execution test
  > for this case gets an XFAIL -- shouldn't that be UNTESTED?
Yes, but expressing this can be difficult to do with the old-deja.exp
framework.

  > I also noticed a number of problems with the build:
  > 
  > 1) `make bootstrap' decided once that ranlib was necessary (it isn't),
  > which caused the build to blow up in gcc/f/runtime/libE77.  [The
  > initial `configure' got it right.]
We're looking into this.  No solution yet.


  > 2) Twice I got the machine into a state where it was impossible to log
  > in either locally or over the network by running a build in a detached
  > `screen' session -- once it was in `make bootstrap', once in `make
  > check'.  I have no idea how it happened, there was nothing in syslog
  > or the make log to indicate any trouble; but I had to hard-boot the
  > machine.
Probably while building insn-attrtab.c and insn-attrtab.o during
the make bootstrap -- these take an enormous amount of memory
to build for mips targets

During the make check it was the 961203-1.c testcase which will
suck up every byte of available VM (which will effectively lock
the machine until the compiler dies).

  > 3) If you do `make LANGUAGES=c' in the gcc subdir, it runs configure
  > for the Fortran runtime anyway.
Yes, this is necessary.


  > 4) `make bootstrap' compiles all the front ends and the Fortran
  > runtime at stage 2.  Is this intentional?
Yes.

  > 5) configure forces the use of `cc -32 -O0' for stage 1.  This setting
  > generates pessimal code.
I don't know why it does this.  It might be because cc mis-compiles
things with other options.  I don't really know.  We don't really
care how slow the stage1 compiler runs since it should never get
installed.

  > 6) All the *out.c files are compiled even though only dwarf2 is
  > relevant to this platform.
Yes, this is normal.

  > 7) It would be nice if the bytecode stuff could be turned off.
We're seriously considering just removing it.  It's a poor design,
poor implementation and nobody's ever used it for anything.


  > 8) The various generated files are regenerated at every stage of the
  > build.  Is this intentional?
Yes.  The gen* and insn* stuff will be rebuilt through each stage.

  > 9) At one point (genattrtab) the Makefile is compared to the .md
  > file.  This seems odd to me.
This is how the build process checks for a pre-built insn-attrtab.c
file.  It may seem odd, but it is the way it should work.  This
also happens for other files.

  > 11) I get many "subscript has type `char'" warnings in the Fortran
  > subdirectory, and one "unused parameter `v'" (for f/com.c).
Yes, these warnings can be safely ignored.

  > 12) I get many linker warnings about libstdc++ and libm not being used
  > from the g++ test suite.  In the libstdc++ test suite I get warnings
  > about multiply defined weak symbols.
This is a problem.

  > 13) Why are all the test cases in gcc.dg unsupported on this platform?
  > Except for the dll-* stuff they look quite generic.
dll tests are in general, difficult to write in a truely generic
manner.

  > I'm not on the mailing list.
I would recommend you get on the mailing list if you plan on using
snapshots in the future.

  > p.s.  Is there any way to run only a subset of the test suite with
  > verbose on?
Not that I'm aware of.  Though it is possible to run subsets of
tests.

ie you can do something like
make check-gcc RUNTESTFLAGS="execute.exp --verbose"

To run just the execute.exp tests.

jeff



More information about the Gcc-bugs mailing list