This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/18034] GCC 3.4.2/GNAT bootstrap problem


------- Additional Comments From franke at euro-telematik dot de  2004-11-27 17:25 -------
Subject: Re:  GCC 3.4.2/GNAT bootstrap problem

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Try  looking into PR 6552 and PR 6669.  Those two might tell you
> what the problem is.  It might be  stage1  is  being  miscompile
> which miscompiles stage2 which causes this problem.

I  did, but it brought no alleviation.  Removing -g from various
CFLAGS, as proposed in PR  6669,  doesn't  change  the  outcome,
while removing -O2 (PR 6552) makes it even worse, as some of the
little helper utilities that get built along the  way  (gentype,
genmode, and friends) produce a bus error when executed.

> Andrew's explanation certainly sounds plausible.  Could you
> try bootstrapping using Rainer Orth's GNAT binaries:

>    ftp://ftp.Uni-Bielefeld.DE/pub/gnu/gnat/binaries/

> I've had no problems bootstrapping 3.4 on our IRIX 6.5
> when using these binaries as the starting point.

Tried that, too.  No betterment.  And I only have IRIX 6.2 at my
disposal.

   I  have, meanwhile, upgraded to GCC 3.4.3, but it didn't make
a difference.  Out of sheer desparation, I have adopted a brute-
force  method  to  get  rid  of  the symptoms (not the problems,
though!).  See the transcript below.  I have finally  been  able
to  produce  a GCC 3.4.3 but I am all too aware of the fact that
it is a botched one.  Not surprisingly, it could not be used  to
bootstrap itself.

   Any ideas are appreciated.


Regards,

Frank

- ---- Transcript of the brute-force session -----

gcc says> stage2/xgcc -Bstage2/ -B/usr/local2/mips-sgi-irix6.2/bin/ -c -g -O2      -gnatpg -gnata -I- -I. -Iada -I../../srcdir/gcc/ada ../../srcdir/gcc/ada/ada.ads -o ada/ada.o
gcc says> xgcc: Internal error: Segmentation fault (program gnat1)
gcc says> Please submit a full bug report.
gcc says> See <URL:http://gcc.gnu.org/bugs.htmlgcc-says> for instructions.
gcc says> make[2]: *** [ada/ada.o] Error 1
gcc says> make[2]: Leaving directory `/usr/people/franke/install/objdir/gcc'
gcc says> make[1]: *** [stage3_build] Error 2
gcc says> make[1]: Leaving directory `/usr/people/franke/install/objdir/gcc'
gcc says> make: *** [bootstrap] Error 2

Used gnat1 from stage1.

gcc says> Stage comparison failed.

Replaced the call to cmp with a call to /bin/true in
objdir/gcc/Makefile.

gcc says> /usr/people/franke/install/objdir/gcc/xgcc -B/usr/people/franke/install/objdir/gcc/ -B/usr/local2/mips-sgi-irix6.2/bin/ -B/usr/local2/mips-sgi-irix6.2/lib/ -isystem /usr/local2/mips-sgi-irix6.2/include -DHAVE_CONFIG_H -I. -I../../../../srcdir/libstdc++-v3/libmath -I.. -O2 -g -O2 -c ../../../../srcdir/libstdc++-v3/libmath/stubs.c   -DPIC -o .libs/stubs.o
gcc says> ../../../../srcdir/libstdc++-v3/libmath/stubs.c:268: error: conflicting types for `hypotl'
gcc says> /usr/people/franke/install/objdir/gcc/include/math.h:506: error: previous declaration of `hypotl'
gcc says> make[4]: *** [stubs.lo] Error 1
gcc says> make[4]: Leaving directory `/usr/people/franke/install/objdir/mips-sgi-irix6.2/libstdc++-v3/libmath'
gcc says> make[3]: *** [all-recursive] Error 1
gcc says> make[3]: Leaving directory `/usr/people/franke/install/objdir/mips-sgi-irix6.2/libstdc++-v3'
gcc says> make[2]: *** [all-recursive-am] Error 2
gcc says> make[2]: Leaving directory `/usr/people/franke/install/objdir/mips-sgi-irix6.2/libstdc++-v3'
gcc says> make[1]: *** [all-target-libstdc++-v3] Error 2
gcc says> make[1]: Leaving directory `/usr/people/franke/install/objdir'
gcc says> make: *** [bootstrap] Error 2

Commented out srcdir/libstdc++-v3/libmath/stubs.c:266--276

gcc says> ../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  a-caldel.adb -o a-caldel.o
gcc says> xgcc: Internal error: Segmentation fault (program gnat1)
gcc says> Please submit a full bug report.
gcc says> See <URL:http://gcc.gnu.org/bugs.htmlgcc-says> for instructions.
gcc says> make[2]: *** [a-caldel.o] Error 1
gcc says> make[2]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada/rts'
gcc says> make[1]: *** [gnatlib] Error 2
gcc says> make[1]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada'
gcc says> make: *** [gnatlib] Error 2

Used gnat1 from stage1.

gcc says> ../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  a-llftio.ads -o a-llftio.o
gcc says> a-tiflio.adb: In function `Ada.Long_Long_Float_Text_Io.Get':
gcc says> a-tiflio.adb:44: error: unrecognizable insn:
gcc says> (insn/i:HI 185 184 186 16 s-fatgen.adb:840 (set (subreg:DI (reg:TF 245) 0)
gcc says>         (mem/u/f:TF (symbol_ref/u:SI ("*.LC4") [flags 0x2]) [25 S16 A128])) -1 (insn_list 184 (nil))
gcc says>     (nil))
gcc says> +===========================GNAT BUG DETECTED==============================+
gcc says> | 3.4.3 (mips-sgi-irix6.2) in extract_insn, at recog.c:2083                |
gcc says> | Error detected at a-tiflio.adb:65:8 [a-llftio.ads:18:1]                  |
gcc says> | Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
gcc says> | Include the entire contents of this bug box in the report.               |
gcc says> | Include the exact gcc or gnatmake command that you entered.              |
gcc says> | Also include sources listed below in gnatchop format                     |
gcc says> | (concatenated together with no headers between files).                   |
gcc says> +==========================================================================+
gcc says>
gcc says> Please include these source files with error report
gcc says> Note that list may not be accurate in some cases,
gcc says> so please double check that the problem can still
gcc says> be reproduced with the set of files listed.
gcc says>
gcc says>
gcc says> compilation abandoned
gcc says> make[2]: *** [a-llftio.o] Error 1
gcc says> make[2]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada/rts'
gcc says> make[1]: *** [gnatlib] Error 2
gcc says> make[1]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada'
gcc says> make: *** [gnatlib] Error 2

Temporarily (i.e., for a-llftio.ads only) made s-fatgen.adb:840
return True.

gcc says> ../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  s-fatllf.ads -o s-fatllf.o
gcc says> s-fatgen.adb: In function `System.Fat_Llf.Fat_Long_Long_Float.Unaligned_Valid':
gcc says> s-fatgen.adb:848: error: unrecognizable insn:
gcc says> (insn/i:HI 104 103 105 4 s-fatgen.adb:840 (set (subreg:DI (reg:TF 223) 0)
gcc says>         (mem/u/f:TF (symbol_ref/u:SI ("*.LC21") [flags 0x2]) [8 S16 A128])) -1 (insn_list 103 (nil))
gcc says>     (nil))
gcc says> +===========================GNAT BUG DETECTED==============================+
gcc says> | 3.4.3 (mips-sgi-irix6.2) in extract_insn, at recog.c:2083                |
gcc says> | Error detected at s-fatgen.adb:861:1 [s-fatllf.ads:47:4]                 |
gcc says> | Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
gcc says> | Include the entire contents of this bug box in the report.               |
gcc says> | Include the exact gcc or gnatmake command that you entered.              |
gcc says> | Also include sources listed below in gnatchop format                     |
gcc says> | (concatenated together with no headers between files).                   |
gcc says> +==========================================================================+
gcc says>
gcc says> Please include these source files with error report
gcc says> Note that list may not be accurate in some cases,
gcc says> so please double check that the problem can still
gcc says> be reproduced with the set of files listed.
gcc says>
gcc says>
gcc says>
gcc says> raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:376
gcc says> make[2]: *** [s-fatllf.o] Error 1
gcc says> make[2]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada/rts'
gcc says> make[1]: *** [gnatlib] Error 2
gcc says> make[1]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada'
gcc says> make: *** [gnatlib] Error 2

Temporarily (i.e., for s-fatllf.ads only) made s-fatgen.adb:840
return True.

gcc says> ../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  s-imgrea.adb -o s-imgrea.o
gcc says> s-imgrea.adb: In function `System.Img_Real.Set_Image_Real':
gcc says> s-imgrea.adb:136: error: unrecognizable insn:
gcc says> (insn/i:HI 165 164 166 6 s-fatgen.adb:840 (set (subreg:DI (reg:TF 262) 0)
gcc says>         (mem/u/f:TF (symbol_ref/u:SI ("*.LC9") [flags 0x2]) [7 S16 A128])) -1 (insn_list 164 (nil))
gcc says>     (nil))
gcc says> +===========================GNAT BUG DETECTED==============================+
gcc says> | 3.4.3 (mips-sgi-irix6.2) in extract_insn, at recog.c:2083                |
gcc says> | Error detected at s-imgrea.adb:700:8                                     |
gcc says> | Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
gcc says> | Include the entire contents of this bug box in the report.               |
gcc says> | Include the exact gcc or gnatmake command that you entered.              |
gcc says> | Also include sources listed below in gnatchop format                     |
gcc says> | (concatenated together with no headers between files).                   |
gcc says> +==========================================================================+
gcc says>
gcc says> Please include these source files with error report
gcc says> Note that list may not be accurate in some cases,
gcc says> so please double check that the problem can still
gcc says> be reproduced with the set of files listed.
gcc says>
gcc says>
gcc says> compilation abandoned
gcc says> make[2]: *** [s-imgrea.o] Error 1
gcc says> make[2]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada/rts'
gcc says> make[1]: *** [gnatlib] Error 2
gcc says> make[1]: Leaving directory `/usr/people/franke/install/objdir/gcc/ada'
gcc says> make: *** [gnatlib] Error 2

Temporarily (i.e., for s-imgrea.adb only) made s-fatgen.adb:840
return True.

- ---> BUILT! <---

(glanzer 512) $ gnatmake -v hello.adb -cargs -v -bargs -v -largs -v

GNATMAKE 3.4.3 Copyright 1995-2004 Free Software Foundation, Inc.
  "hello.ali" being checked ...
  -> "hello.ali" missing.
gcc -c -v hello.adb
Reading specs from /usr/local2/lib/gcc/mips-sgi-irix6.2/3.4.3/specs
Configured with: ../srcdir/configure --enable-languages=c,c++,ada --prefix=/usr/local2 --disable-nls --disable-multilib --enable-threads=gnat
Thread model: gnat
gcc version 3.4.3
 /usr/local2/libexec/gcc/mips-sgi-irix6.2/3.4.3/gnat1 -quiet -dumpbase hello.adb hello.adb -o /var/tmp//ccF3aH5a.s
 /usr/bin/as -EB -O0 -g0 -nocpp -show -G 0 -w -n32 -mips3 -o hello.o /var/tmp//ccF3aH5a.s
/usr/bin/../lib32/cmplrs/as -EB -O0 -g0 -nocpp -show -G 0 -w -n32 -mips3 -o hello.o /var/tmp//ccF3aH5a.s
/usr/lib32/cmplrs/asm -pic2 -elf -EB -O0 -g0 -G0 -w -mips3 -n32 /var/tmp//ccF3aH5a.s -o hello.o
End of compilation
gnatbind -aO./ -v -I- -x hello.ali

GNATBIND 3.4.3 Copyright 1995-2004 Free Software Foundation, Inc.

Binding: hello.ali

No errors
gnatlink hello.ali -v

GNATLINK 3.4.3 Copyright 1995-2004 Free Software Foundation, Inc
gcc -c -gnatA -gnatWb -gnatiw -gnatws b~hello.adb
/usr/local2/bin/gcc b~hello.o ./hello.o -o hello -L./ -L/usr/local2/lib/gcc/mips-sgi-irix6.2/3.4.3/adalib/ /usr/local2/lib/gcc/mips-sgi-irix6.2/3.4.3/adalib/libgnat.a -lexc
(glanzer 513) $

- ---- End of transcript of the brute-force session -----

- --

Frank Ecke <franke@euro-telematik.de>, see pgpkeys.mit.edu:11371
Fingerprint = 2CCD 7D50 E07E 557E EA2F  7454 068C B20A 20FF C83D
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (IRIX64)

iD8DBQFBqLboBoyyCiD/yD0RAnOvAJ9aAECxQNxzBDYg6DV8PZafZoJyrACg1CIY
4I4xLMDOSK+aK8BZ9jZqn9Y=
=c0bh
-----END PGP SIGNATURE-----


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]