genattr: Internal compiler error in `read_rtx', at ../../src/gcc-2.95.2/gcc/rtl.c:888 - Processor M68040 - Operating system System V R3V8 Unix from Motorola

Manfred Hollstein mhollstein@cygnus.com
Fri Dec 31 20:54:00 GMT 1999


Hi Chris,

I've been working on a Motorola "delta" box with R3V7 on an M68030 for
quite some time. IIRC, the last gcc/egcs, which I've built successfully
on that system, was egcs-1.1.2; then I changed positions and since then
I do not have access to it anymore.

Anyways, I have some recommendations, which you may find useful:

  (1) configure the tools using "delta", not "delta-sysv3"! The former
      is translated into "m68k-motorola-sysv" by config.sub, while the
      latter goes into "m68k-motorola-sysv3" - do you see the small
      difference? All the various config?* scripts check for the *-sysv
      pattern, but the *-sysv3 will fail at least in libstdc++ (look
      in libstdc++/configure.in)
  (2) Do NOT tweak with the /lib/what-ever-the-cc-config-file-is-called
      to put in information about GNU as etc. Just leave it as it is,
      so that
      - cc will use Motorola's native /bin/as and /bin/ld
      - while gcc will find GNU as and ld anyway - provided you've been
        using the SAME host/target and prefix arguments for configuring
	gcc and binutils.
  (3) I always used an environment variable "FP=" while building the libgcc1
      part during stage1; this instructs the native cc to not generate any
      FPU instructions - it was appropriate for me, as I had to support
      systems without an FPU as well, and since libgcc1 is not multilib'ed
      I chose the lowest common denominator...

Regarding your probs with genattr, as I wrote above, I haven't checked any
gcc since egcs-1.1.2 on this system, so I can only assume:

  - either gcc-2.95.2 doesn't work on this machine anymore
  - or you've done something wrong in setting up your environment

 > ./genattr ../../src/gcc-2.95.2/gcc/config/m68k/m68k.md > tmp-attr.h
 > switch format wrong in rtl.read_rtx(). format was: s.
 >         file position: 13096
 > genattr: Internal compiler error in `read_rtx', at
 > ../../src/gcc-2.95.2/gcc/rtl.c:888

In order to debug this, you can look at byte 13096 in gcc/config/m68k/m68k.md
and see how this relates with line 888 in gcc/rtl.c. If this doesn't show
up any obvious hints, you should probably fire up the debugger.

BTW, I still may have some delta related patches to the various programs
needed to build a GNU tool chain, which I haven't been able to contribute
so far; if you're interested, drop me a note and I'll send them to you.

In case you want to try egcs-1.1.2, you should still be able to get that
from

  < ftp://egcs.cygnus.com/pub/egcs/releases/egcs-1.1.2/egcs-1.1.2.tar.gz >

You may also try to contact Philippe De Muyter < mailto:phdm@macqel.be >,
as he is still working on a similar system, AFAIK.

HTH.

l8er
manfred


On Fri, 3 December 1999, 18:00:34, Chris.Beere@cwcom.co.uk wrote:

 > Hello,
 >          We are trying to upgrade our GNU C compiler from 2.4.5 to 2.95.2 as
 > we could not get perl compiled and it was suggested our version is very old.
 > The operating system is an old version of System V Unix R3V8 from Motorola,
 > running on their delta platform which uses the M68040 processor.
 >  I have downloaded a number of utilities to make sure everything is as
 > up-to-date as possible. Utilities are:-
 > 
 > (hilda)# bison --version
 > GNU Bison version 1.28
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# gawk --version
 > GNU Awk 3.0.4
 > Copyright (C) 1989, 1991-1999 Free Software Foundation.
 > 
 > This program is free software; you can redistribute it and/or modify
 > it under the terms of the GNU General Public License as published by
 > the Free Software Foundation; either version 2 of the License, or
 > (at your option) any later version.
 > 
 > This program is distributed in the hope that it will be useful,
 > but WITHOUT ANY WARRANTY; without even the implied warranty of
 > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 > GNU General Public License for more details.
 > 
 > You should have received a copy of the GNU General Public License
 > along with this program; if not, write to the Free Software
 > Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# sed --version
 > GNU sed version 3.02
 > 
 > Copyright (C) 1998 Free Software Foundation, Inc.
 > This is free software; see the source for copying conditions.  There is NO
 > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
 > to the extent permitted by law.
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# make --version
 > GNU Make version 3.78.1, by Richard Stallman and Roland McGrath.
 > Built for m68k-motorola-sysv3
 > Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
 >         Free Software Foundation, Inc.
 > This is free software; see the source for copying conditions.
 > There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
 > PARTICULAR PURPOSE.
 > 
 > Report bugs to <bug-make@gnu.org>.
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# /usr/bin/gnucc --version
 > gnucc: Extraneous argument to `--' option
 > gnucc: No input files specified.
 > (hilda)# /usr/bin/gnucc -v
 > gcc version 2.4.5
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# as -V
 > as: assembler - @(#)pass0.c     55.1     91/05/29     
 > Nonexistent file
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# ld -V
 > ld : SYSTEM V/68 R3V7, Motorola C Issue 03.70 (91/07/26) : Version 1.8.2.1:
 > 11/19/85
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# gas -v
 > GNU assembler version 2.9.1 (delta-sysv3)
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > (hilda)# gld -V
 > GNU ld version 2.9.1 (with BFD 2.9.1)
 >   Supported emulations:
 >    delta68
 > ----------------------------------------------------------------------------
 > ------------------------------------------------------------
 > The configure command run in the build directory obj was:-
 > 
 > ../src/*gcc-2.95.2/configure --host=delta-sysv3  \
 > --enable-cpp --with-gnu-as --with-gnu-ld \
 > --enable-languages=c++ >configure.log 2>&1 &
 > 
 > The make command run in the build directory obj was:-
 > 
 > make bootstrap >>make.log 2>&1 &
 > 
 > The first time it failed trying to assemble the floating point instructions.
 > I had my compiler configuration file set to use gas. It produced this
 > error:-
 > _ashrsi3
 > 
 > _ashlsi3
 > 
 > _divdf3
 > 
 > /usr/tmp/ctmAAAa17388.s: Assembler messages:                            
 > /usr/tmp/ctmAAAa17388.s:7: Error: Unknown operator -- statement `fdmov.d
 > 8(%fp),
 > %fp0' ignored    
 > /usr/tmp/ctmAAAa17388.s:8: Error: invalid instruction for this architecture;
 > nee
 > ds 68040 or 68060 -- statement `fddiv.d 16(%fp),%fp0' ignored
 > 
 > make[2]: *** [libgcc1.a] Error 1
 > 
 > make[2]: Leaving directory `/users2/gnu/gcc/obj/gcc'
 > 
 > I changed my compiler configuration file to use as and it got to the
 > internal compiler error. The output just before this follows:-
 > 
 > (hilda)# make
 > make[1]: Entering directory `/users2/gnu/gcc/obj/libiberty'
 > make[2]: Entering directory `/users2/gnu/gcc/obj/libiberty/testsuite'
 > make[2]: Nothing to be done for `all'.
 > make[2]: Leaving directory `/users2/gnu/gcc/obj/libiberty/testsuite'
 > make[1]: Leaving directory `/users2/gnu/gcc/obj/libiberty'
 > make[1]: Entering directory `/users2/gnu/gcc/obj/texinfo'
 > Making all in intl
 > make[2]: Entering directory `/users2/gnu/gcc/obj/texinfo'
 > Making all in intl
 > make[3]: Entering directory `/users2/gnu/gcc/obj/texinfo/intl'
 > make[3]: Nothing to be done for `all'.
 > make[3]: Leaving directory `/users2/gnu/gcc/obj/texinfo/intl'
 > Making all in lib
 > make[3]: Entering directory `/users2/gnu/gcc/obj/texinfo/lib'
 > make[3]: Nothing to be done for `all'.
 > make[3]: Leaving directory `/users2/gnu/gcc/obj/texinfo/lib'
 > Making all in makeinfo
 > make[3]: Entering directory `/users2/gnu/gcc/obj/texinfo/makeinfo'
 > make[3]: Nothing to be done for `all'.
 > make[3]: Leaving directory `/users2/gnu/gcc/obj/texinfo/makeinfo'
 > make[2]: Leaving directory `/users2/gnu/gcc/obj/texinfo'
 > make[1]: Leaving directory `/users2/gnu/gcc/obj/texinfo'
 > make[1]: Entering directory `/users2/gnu/gcc/obj/etc'
 > make[1]: Nothing to be done for `all'.
 > make[1]: Leaving directory `/users2/gnu/gcc/obj/etc'
 > make[1]: Entering directory `/users2/gnu/gcc/obj/gcc'
 > (cd intl && make all)
 > make[2]: Entering directory `/users2/gnu/gcc/obj/gcc/intl'
 > make[2]: Nothing to be done for `all'.
 > make[2]: Leaving directory `/users2/gnu/gcc/obj/gcc/intl'
 > ./genattr ../../src/gcc-2.95.2/gcc/config/m68k/m68k.md > tmp-attr.h
 > switch format wrong in rtl.read_rtx(). format was: s.
 >         file position: 13096
 > genattr: Internal compiler error in `read_rtx', at
 > ../../src/gcc-2.95.2/gcc/rtl.
 > c:888
 > Please submit a full bug report.
 > See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for
 > instructions.
 > make[1]: *** [s-attr] Error 33
 > make[1]: Leaving directory `/users2/gnu/gcc/obj/gcc'
 > make: *** [all-gcc] Error 2
 > (hilda)# 
 > 
 > I think I have supplied everything mentioned in the instruction at the
 > specified web address except:-
 > 
 > Preprocessed output of the source file that caused the compiler error
 > 
 > How do I generate that?
 > 
 > regards
 > 
 > Chris Beere
 > 
 > Phone: +44 (0) 1923 435817
 > Fax:     +44 (0) 1923 435370
 > Email:   chris.beere@cwcom.co.uk
 > 
 > 



More information about the Gcc-bugs mailing list