public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* 990608 gcc-2.95 fails bootstrap on HP
@ 1999-06-09 12:28 Jerry Quinn
  1999-06-30 23:07 ` Jeffrey A Law
  0 siblings, 1 reply; 3+ messages in thread
From: Jerry Quinn @ 1999-06-09 12:28 UTC (permalink / raw)
  To: egcs-bugs

On HPUX 10.20, C180 (pa2.0 machine), bootstrap compiler egcs 1.1.2,
gas 2.9.1.  Recent gas snapshot also dies the same way.

config.status contains:

#!/bin/sh
# This file was generated automatically by configure.  Do not edit.
# This directory was configured as follows:
../../../src/configure --with-gcc-version-trigger=/opt/corp/contrib/egcs/snapsho
t/src/gcc/version.c --host=hppa2.0-hp-hpux10.20 --prefix=/opt/corp/contrib/egcs/
snapshot --exec-prefix=/opt/corp/contrib/egcs/snapshot/hppa2.0-hpux10.20 --with-
gnu-as --enable-languages=c,c++,f77,objc --norecursion 
# using "mh-frag"


During the stage2 build, I get the following:

stage1/xgcc -Bstage1/ -B/opt/corp/contrib/egcs/snapshot/hppa2.0-hpux10.20/hppa2.0-hp-hpux10.20/bin/  -DIN_GCC -DHAIFA    -O2 -g -O2  -DHAVE_CONFIG_H  -o gencodes \
 gencodes.o rtl.o bitmap.o print-rtl.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "alloca.o" in ?*) echo alloca.o ;; esac ` ` case "" in ?*) echo  ;; esac `  ` case "" in ?*) echo  ;; esac ` ` case "" in ?*) echo  ;; esac ` 
stage1/xgcc -Bstage1/ -B/opt/corp/contrib/egcs/snapshot/hppa2.0-hpux10.20/hppa2.0-hp-hpux10.20/bin/ -c  -DIN_GCC -DHAIFA    -O2 -g -O2  -DHAVE_CONFIG_H    -I. -I../../../../src/gcc -I../../../../src/gcc/config -I../../../../src/gcc/../include ../../../../src/gcc/genpeep.c
stage1/xgcc -Bstage1/ -B/opt/corp/contrib/egcs/snapshot/hppa2.0-hpux10.20/hppa2.0-hp-hpux10.20/bin/  -DIN_GCC -DHAIFA    -O2 -g -O2  -DHAVE_CONFIG_H  -o genflags \
 genflags.o rtl.o bitmap.o print-rtl.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "alloca.o" in ?*) echo alloca.o ;; esac ` ` case "" in ?*) echo  ;; esac `  ` case "" in ?*) echo  ;; esac ` ` case "" in ?*) echo  ;; esac ` 
./genconfig ../../../../src/gcc/config/pa/pa.md > tmp-config.h
Expected character [.  Found character (.  At file position: 2120
Following characters are:
        const_int 8) (const_int 4))

         (eq_attr "type" "store,fpstore")
         (if_then_else (match_operand 0 "symbolic_memory_operand" "")
                       (const_int 8) (const_int 4))

         (eq_attr "type" "binary,shift,nuAborting.
genconfig: Internal compiler error in `dump_and_abort', at ../../../../src/gcc/rtl.c:539
Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
make[2]: *** [s-config] Error 33
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/tmp_mnt/opt/corp/contrib/egcs/snapshot/build/hppa2.0-hpux10.20/gcc/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/tmp_mnt/opt/corp/contrib/egcs/snapshot/build/hppa2.0-hpux10.20/gcc/gcc'
make: *** [bootstrap] Error 2


gencodes chokes while reading the "if_then_else" construct.  In gdb,
it appears that the break statement in the 'e' case isn't getting
executed.

Is this complete enough?

-- 
Jerry Quinn                             Tel: (514) 761-8737
jquinn@nortelnetworks.com               Fax: (514) 761-8505
Speech Recognition Research
>From martin@mira.isdn.cs.tu-berlin.de Wed Jun 09 12:43:00 1999
From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>
To: mirar@idonex.se
Cc: oliva@dcc.unicamp.br, green@cygnus.com, egcs-bugs@egcs.cygnus.com, Tim_Drury@bscc.bls.com
Subject: Re: solaris, collect2 and ld
Date: Wed, 09 Jun 1999 12:43:00 -0000
Message-id: <199906091936.VAA02022@mira.isdn.cs.tu-berlin.de>
References: <199906090606.XAA21451@hoser.cygnus.com> <orso81dhqz.fsf@saci.lsd.dcc.unicamp.br> <824skh6yfa.fsf@raven.idonex.se> <824skh6yfa.fsf@raven.idonex.se>
X-SW-Source: 1999-06/msg00254.html
Content-length: 205

> Why would you want to avoid Solaris ld?

I'm not the original poster, but - for one thing, it doesn't support
the .linkonce section flag, needed to get compact linkage of C++
templates.

Regards,
Martin
>From bcr@feynman.com Wed Jun 09 12:50:00 1999
From: "Bill C. Riemers" <bcr@feynman.com>
To: law@cygnus.com
Cc: bcr@sanskrit.lz.att.com, egcs-bugs@egcs.cygnus.com
Subject: Re: Where is stddef.h???
Date: Wed, 09 Jun 1999 12:50:00 -0000
Message-id: <375EC68E.61C56589@feynman.com>
References: <9777.928903564@upchuck.cygnus.com>
X-SW-Source: 1999-06/msg00255.html
Content-length: 29194

OK.  I rebuilt the broken version again.  The only difference is this time I 
used
	% mkdir /tmp/build-egcs
        % cd /tmp/build-egcs
        % /jC/fromnet/egcs-1.1.2/configure --prefix=/tmp/egcs-dir
        % mkdir /tmp/egcs-dir
        % make bootstrap
        % make install

This way I didn't have people complaining about breaking the compiler again...
>From there I did:

        % echo '#include <stdlib.h>' > /tmp/foo.c
	% export PATH=/tmp/egcs-dir/bin:$PATH
	% gcc -v -c /tmp/foo.c 2>&1 |tee /tmp/foo.out

You'll find the contents of foo.out attached.  I then decided to see if stddef.h was
build this time.

	% find /tmp/build-egcs -name stddef.h
	/tmp/build-egcs/gcc/include/stddef.h

Walla. It exists.  It just didn't get installed for some reason by "make install".
So the problem must be a broken 'make install' rule.  So next I did:

	% cd /tmp/build-egcs
	% make install 2>&1 |tee make.out

I've attached make.out and foo.out to this e-mail.

			Bill
/bin/sh /jC/fromnet/egcs-1.1.2/mkinstalldirs /tmp/egcs-dir /tmp/egcs-dir
/tmp/build-egcs/gcc
make[1]: Entering directory `/tmp/build-egcs/gcc'
if [ -f libgcc2.ready ] ; then \
	true; \
else \
	touch libgcc2.ready; \
fi
if [ -d /tmp/egcs-dir ] ; then true ; else mkdir /tmp/egcs-dir ; chmod a+rx /tmp/egcs-dir ; fi
if [ -d /tmp/egcs-dir ] ; then true ; else mkdir /tmp/egcs-dir ; chmod a+rx /tmp/egcs-dir ; fi
if [ -d /tmp/egcs-dir/lib ] ; then true ; else mkdir /tmp/egcs-dir/lib ; chmod a+rx /tmp/egcs-dir/lib ; fi
if [ -d /tmp/egcs-dir/lib/gcc-lib ] ; then true ; else mkdir /tmp/egcs-dir/lib/gcc-lib ; chmod a+rx /tmp/egcs-dir/lib/gcc-lib ; fi
fdir= ; for dir in `echo /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66 | tr '/' ' '`; do \
  fdir=${fdir}/${dir}; \
  if [ -d ${fdir} ] ; then true ; else mkdir ${fdir}; chmod a+rx ${fdir}; fi ; \
done
if [ -d /tmp/egcs-dir/bin ] ; then true ; else mkdir /tmp/egcs-dir/bin ; chmod a+rx /tmp/egcs-dir/bin ; fi
if [ -d /usr/local/include ] ; then true ; else mkdir /usr/local/include ; chmod a+rx /usr/local/include ; fi
if [ -d /tmp/egcs-dir/i686-pc-linux-gnu ] ; then true ; else mkdir /tmp/egcs-dir/i686-pc-linux-gnu ; chmod a+rx /tmp/egcs-dir/i686-pc-linux-gnu ; fi
if [ -d /tmp/egcs-dir/i686-pc-linux-gnu/include ] ; then true ; else mkdir /tmp/egcs-dir/i686-pc-linux-gnu/include ; chmod a+rx /tmp/egcs-dir/i686-pc-linux-gnu/include ; fi
if [ -d /tmp/egcs-dir/info ] ; then true ; else mkdir /tmp/egcs-dir/info ; chmod a+rx /tmp/egcs-dir/info ; fi
parent=`echo /tmp/egcs-dir/man/man1|sed -e 's@/[^/]*$@@'`; \
if [ -d $parent ] ; then true ; else mkdir $parent ; chmod a+rx $parent ; fi
if [ -d /tmp/egcs-dir/man/man1 ] ; then true ; else mkdir /tmp/egcs-dir/man/man1 ; chmod a+rx /tmp/egcs-dir/man/man1 ; fi
if [ -f cc1plus ] ; then \
  if [ -f g++-cross ] ; then \
    rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t`; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  g++-cross /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t`; \
    chmod a+x /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t`; \
    rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo c++ | sed $t`; \
    ln /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t` /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo c++ | sed $t`; \
  else \
    rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo g++ | sed $t`; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  g++ /tmp/egcs-dir/bin/`t='s,x,x,'; echo g++ | sed $t`; \
    chmod a+x /tmp/egcs-dir/bin/`t='s,x,x,'; echo g++ | sed $t`; \
    rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo c++ | sed $t`; \
    ln /tmp/egcs-dir/bin/`t='s,x,x,'; echo g++ | sed $t` /tmp/egcs-dir/bin/`t='s,x,x,'; echo c++ | sed $t`; \
  fi ; \
  if [ xc++filt != x ] && [ -x "c++filt" ]; then \
    if [ -f g++-cross ] ; then \
      rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo c++filt | sed $t`; \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  c++filt /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo c++filt | sed $t`; \
      chmod a+x /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo c++filt | sed $t`; \
    else \
      rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo c++filt | sed $t`; \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  c++filt /tmp/egcs-dir/bin/`t='s,x,x,'; echo c++filt | sed $t`; \
      chmod a+x /tmp/egcs-dir/bin/`t='s,x,x,'; echo c++filt | sed $t`; \
    fi ; \
  fi ; \
fi
case "c proto gcov  c++ f77 objc" in \
  *[fF]77*) touch lang-f77;; \
  *) rm -f lang-f77;; \
esac
if [ -f lang-f77 -a -f f771 ] ; then \
  if [ -f g77-cross ] ; then \
    rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g77 | sed $t`; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  g77-cross /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g77 | sed $t`; \
    chmod a+x /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo g77 | sed $t`; \
  else \
    rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo g77 | sed $t`; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  g77 /tmp/egcs-dir/bin/`t='s,x,x,'; echo g77 | sed $t`; \
    chmod a+x /tmp/egcs-dir/bin/`t='s,x,x,'; echo g77 | sed $t`; \
  fi ; \
else true; fi
for file in cc1  cc1plus f771 cc1obj; do \
  if [ -f $file ] ; then \
    rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  $file /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
  else true; \
  fi; \
done
for file in   collect2 ..; do \
  if [ x"$file" != x.. ]; then \
    rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  $file /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
  else true; fi; \
done
for file in crtbegin.o crtbeginS.o crtend.o crtendS.o ..; do \
  if [ x"$file" != x.. ]; then \
    rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $file /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
    chmod a-x /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/$file; \
  else true; fi; \
done
if [ -f specs ] ; then \
  rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/specs; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 specs /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/specs; \
  chmod a-x /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/specs; \
fi
if [ -f protoize ]; \
then \
    if [ -f gcc-cross ] ; then \
	rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo protoize | sed -e $t`; \
	/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  protoize /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo protoize | sed -e $t`; \
	rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo unprotoize | sed -e $t`; \
	/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  unprotoize /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo unprotoize | sed -e $t`; \
    else \
	rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo protoize | sed -e $t`; \
	/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  protoize /tmp/egcs-dir/bin/`t='s,x,x,'; echo protoize | sed -e $t`; \
	rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo unprotoize | sed -e $t`; \
	/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  unprotoize /tmp/egcs-dir/bin/`t='s,x,x,'; echo unprotoize | sed -e $t`; \
    fi ; \
    rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/SYSCALLS.c.X; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 SYSCALLS.c.X /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/SYSCALLS.c.X; \
    chmod a-x /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/SYSCALLS.c.X; \
fi
rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/cpp
/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  cpp /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/cpp
if [ -f gcov ]; \
then \
    rm -f /tmp/egcs-dir/bin/gcov; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  gcov /tmp/egcs-dir/bin/gcov; \
    chmod a+x /tmp/egcs-dir/bin/gcov; \
fi
rm -rf /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include
mkdir /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include
chmod a+rx /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include
(cd include; \
 tar -cf - .; exit 0) | (cd /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include; tar xpBf - )
tar: Hmm, this doesn't look like a tar archive
tar: Skipping to next file header
files=`cd /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include; find . -type l -print 2>/dev/null`; \
if [ $? -eq 0 ]; then \
  dir=`cd include; pwd`; \
  for i in $files; do \
    dest=`ls -ld /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include/$i | sed -n 's/.*-> //p'`; \
    if expr "$dest" : "$dir.*" > /dev/null; then \
      rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include/$i; \
      ln -s `echo $i | sed "s|/[^/]*|/..|g" | sed 's|/..$||'``echo "$dest" | sed "s|$dir||"` /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include/$i; \
    fi; \
  done; \
fi
if [ -f libgcc.a ] ; then \
  rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libgcc.a; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libgcc.a /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libgcc.a; \
  if [ -f ranlib ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ) ; then \
    (cd /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66; ranlib libgcc.a); else true; fi; \
  chmod a-x /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libgcc.a; \
else true; fi
if [ -f cc1plus ] ; then \
  if [ -f g++-cross ] ; then \
    rm -f /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t`.1; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/cp/g++.1 /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t`.1; \
    chmod a-x /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo g++ | sed $t`.1; \
  else \
    rm -f /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo g++ | sed $t`.1; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/cp/g++.1 /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo g++ | sed $t`.1; \
    chmod a-x /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo g++ | sed $t`.1; \
  fi; \
else true; fi
case "c proto gcov  c++ f77 objc" in \
  *[fF]77*) touch lang-f77;; \
  *) rm -f lang-f77;; \
esac
if [ -f lang-f77 -a -f f771 ] ; then \
  if [ -f g77-cross ] ; then \
    rm -f /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo g77 | sed $t`.1; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/f/g77.1 /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo g77 | sed $t`.1; \
    chmod a-x /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo g77 | sed $t`.1; \
  else \
    rm -f /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo g77 | sed $t`.1; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/f/g77.1 /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo g77 | sed $t`.1; \
    chmod a-x /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo g77 | sed $t`.1; \
  fi; \
else true; fi
if [ -f gcc-cross ] ; then \
  rm -f /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t`.1; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/gcc.1 /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t`.1; \
  chmod a-x /tmp/egcs-dir/man/man1/`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t`.1; \
else \
  rm -f /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo gcc | sed -e $t`.1; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/gcc.1 /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo gcc | sed -e $t`.1; \
  chmod a-x /tmp/egcs-dir/man/man1/`t='s,x,x,'; echo gcc | sed -e $t`.1; \
fi
rm -f /tmp/egcs-dir/man/man1/cccp.1
/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 /jC/fromnet/egcs-1.1.2/gcc/cccp.1 /tmp/egcs-dir/man/man1/cccp.1
chmod a-x /tmp/egcs-dir/man/man1/cccp.1
case "c proto gcov  c++ f77 objc" in \
  *[fF]77*) touch lang-f77;; \
  *) rm -f lang-f77;; \
esac
if [ -f lang-f77 -a -f f/g77.info ] ; then \
  rm -f /tmp/egcs-dir/info/g77.info*; \
  for f in f/g77.info*; do \
      realfile=`echo $f | sed -e 's|.*/\([^/]*\)$|\1|'`; \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $f /tmp/egcs-dir/info/$realfile; \
  done; \
  chmod a-x /tmp/egcs-dir/info/g77.info*; \
fi
rm -f /tmp/egcs-dir/info/cpp.info* /tmp/egcs-dir/info/gcc.info*
for f in cpp.info* gcc.info*; do \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $f /tmp/egcs-dir/info/$f; \
done
if /bin/sh -c 'install-info --version' >/dev/null 2>&1; then \
  if [ -f /tmp/egcs-dir/info/dir ] ; then \
    for f in cpp.info gcc.info; do \
	install-info --dir-file=/tmp/egcs-dir/info/dir /tmp/egcs-dir/info/$f; \
    done; \
  else true; fi; \
else true; fi;
chmod a-x /tmp/egcs-dir/info/cpp.info* /tmp/egcs-dir/info/gcc.info*
if [ -f libobjc.a ] ; then \
  rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libobjc.a; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libobjc.a /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libobjc.a; \
  if [ -f ranlib ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ) ; then \
    (cd /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66; ranlib libobjc.a); else true; fi; \
  chmod a-x /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libobjc.a; \
else true; fi
if [ -f libobjc_s.a ] ; then \
  rm -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libobjc_s.a; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libobjc_s.a /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libobjc_s.a; \
  if [ -f ranlib ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ) ; then \
    (cd /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66; ranlib libobjc_s.a); else true; fi; \
  chmod a-x /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libobjc_s.a; \
else true; fi
if [ -f libobjc.dll ] ; then \
  rm -f /tmp/egcs-dir/bin/libobjc.dll; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libobjc.dll /tmp/egcs-dir/bin/libobjc.dll; \
else true; fi
if [ -f gcc-cross ] ; then \
  rm -f /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t`; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  gcc-cross /tmp/egcs-dir/bin/`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t`; \
  if [ -d /tmp/egcs-dir/i686-pc-linux-gnu/bin/. ] ; then \
    rm -f /tmp/egcs-dir/i686-pc-linux-gnu/bin/gcc; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  gcc-cross /tmp/egcs-dir/i686-pc-linux-gnu/bin/gcc; \
  else true; fi; \
else \
  rm -f /tmp/egcs-dir/bin/`t='s,x,x,'; echo gcc | sed -e $t`; \
  /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  xgcc /tmp/egcs-dir/bin/`t='s,x,x,'; echo gcc | sed -e $t`; \
  rm -f /tmp/egcs-dir/bin/i686-pc-linux-gnu-gcc-1; \
  ln /tmp/egcs-dir/bin/`t='s,x,x,'; echo gcc | sed -e $t` /tmp/egcs-dir/bin/i686-pc-linux-gnu-gcc-1; \
  mv /tmp/egcs-dir/bin/i686-pc-linux-gnu-gcc-1 /tmp/egcs-dir/bin/i686-pc-linux-gnu-gcc; \
fi
make[1]: Leaving directory `/tmp/build-egcs/gcc'
/tmp/build-egcs/etc
make[1]: Entering directory `/tmp/build-egcs/etc'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/tmp/build-egcs/etc'
/tmp/build-egcs/libiberty
make[1]: Entering directory `/tmp/build-egcs/libiberty'
/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libiberty.a /tmp/egcs-dir/lib/libiberty.a.n
( cd /tmp/egcs-dir/lib ; ranlib libiberty.a.n )
mv -f /tmp/egcs-dir/lib/libiberty.a.n /tmp/egcs-dir/lib/libiberty.a
make[1]: Leaving directory `/tmp/build-egcs/libiberty'
/tmp/build-egcs/i686-pc-linux-gnu/libio
make[1]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libio'
rootme=`pwd`/ ; export rootme ; \
if [ -z "" ]; then \
  if [ "" != "" ]; then \
    if [ xno = xyes ]; then \
      rm -f /tmp/egcs-dir/include/g++/_G_config.h ; \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 _G_config.h /tmp/egcs-dir/include/g++/_G_config.h || exit 1; \
    else \
      rm -f /tmp/egcs-dir/i686-pc-linux-gnu/include/_G_config.h ; \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 _G_config.h /tmp/egcs-dir/i686-pc-linux-gnu/include/_G_config.h || exit 1; \
    fi; \
  else true; \
  fi ; \
  cd /jC/fromnet/egcs-1.1.2/libio; \
  for FILE in PlotFile.h SFile.h builtinbuf.h editbuf.h fstream.h indstream.h iomanip.h iostream.h istream.h ostream.h parsestream.h pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h strstream.h; do if [ $FILE != _G_config.h ]; then \
    rm -f /tmp/egcs-dir/include/g++/$FILE ; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $FILE /tmp/egcs-dir/include/g++/$FILE ; \
    chmod a-x /tmp/egcs-dir/include/g++/$FILE ; \
  else true; fi; done ; \
else true; \
fi
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libio'
if [ -z "" ]; then \
  true; \
else \
  rootpre=`pwd`/; export rootpre; \
  srcrootpre=`cd /jC/fromnet/egcs-1.1.2/libio; pwd`/; export srcrootpre; \
  lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
  compiler="/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/"; \
  for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
    dir=`echo $i | sed -e 's/;.*$//'`; \
    if [ "${dir}" = "." ]; then \
      true; \
    else \
      if [ -d ../${dir}/${lib} ]; then \
	flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
	if (cd ../${dir}/${lib}; make "SHELL=/bin/sh" "INSTALL=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c" "INSTALL_DATA=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c " "prefix=/tmp/egcs-dir" "exec_prefix=/tmp/egcs-dir" "tooldir=/tmp/egcs-dir/i686-pc-linux-gnu" "gxx_include_dir=/tmp/egcs-dir/include/g++" "libsubdir=/tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66" "gcc_version=egcs-2.91.66" "gcc_version_trigger=/jC/fromnet/egcs-1.1.2/gcc/version.c" "AR=ar" "AR_FLAGS=rc" "CC=/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/" "CXX=/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2 -fvtable-thunks -D_GNU_SOURCE" "NM=nm" "RANLIB=ranlib" "LIBCFLAGS=-g -O2" "LIBCXXFLAGS=-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates" "LOADLIBES=" "LDFLAGS=" "MAKEINFO=/tmp/build-egcs/texinfo/makeinfo/makeinfo " "SHLIB=" "SHCURSES=" "RUNTESTFLAGS=" \
			CFLAGS="-g -O2 ${flags}" \
			CXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE ${flags}" \
			LIBCFLAGS="-g -O2 ${flags}" \
			LIBCXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
			LDFLAGS=" ${flags}" \
			install); then \
	  true; \
	else \
	  exit 1; \
	fi; \
      else true; \
      fi; \
    fi; \
  done; \
fi
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libio'
make[1]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libio'
/tmp/build-egcs/i686-pc-linux-gnu/libstdc++
make[1]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libstdc++'
rootme=`pwd`/ ; export rootme ; \
if [ -z "" ]; then \
  cd /jC/fromnet/egcs-1.1.2/libstdc++; \
  for FILE in cassert cctype cerrno cfloat ciso646 climits clocale cmath complex csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype string stdexcept algorithm deque functional hash_map hash_set iterator list map memory numeric pthread_alloc queue rope set slist stack utility vector fstream iomanip iostream strstream iosfwd; do \
    rm -f /tmp/egcs-dir/include/g++/$FILE ; \
    if [ -f stl/$FILE ]; then \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 stl/$FILE /tmp/egcs-dir/include/g++/$FILE ; \
    else \
      /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $FILE /tmp/egcs-dir/include/g++/$FILE ; \
    fi ; \
    chmod a-x /tmp/egcs-dir/include/g++/$FILE ; \
  done ; \
  for FILE in *.h std/*.*; do \
    rm -f /tmp/egcs-dir/include/g++/$FILE ; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $FILE /tmp/egcs-dir/include/g++/$FILE ; \
    chmod a-x /tmp/egcs-dir/include/g++/$FILE ; \
  done ; \
  cd stl; \
  for FILE in *.h; do \
    rm -f /tmp/egcs-dir/include/g++/$FILE ; \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $FILE /tmp/egcs-dir/include/g++/$FILE ; \
    chmod a-x /tmp/egcs-dir/include/g++/$FILE ; \
  done ; \
else true ; \
fi
/jC/fromnet/egcs-1.1.2/libstdc++/stl
rootme=`pwd`/ ; export rootme ; \
if [ x/tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66 = x ] || [ xno != xyes ]; then \
  INSTALLDIR=/tmp/egcs-dir/lib; \
else \
  INSTALLDIR=/tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66; \
fi; \
rm -f ${INSTALLDIR}/libstdc++.so ; \
for FILE in libstdc++.a ; do \
  rm -f ${INSTALLDIR}/$FILE ; \
  if [ $FILE = libstdc++.so ] ; then \
    ln -f -s libstdc++.so.2.9.0 ${INSTALLDIR}/$FILE ; \
  elif [ $FILE = mshlink ]; then \
    for FILE in libstdc++.so.`echo 2.9.0 | sed 's/\([0-9][.][0-9]\).*/\1/'` ; do \
      rm -f ${INSTALLDIR}/$FILE ; \
      ln -f -s libstdc++.so.2.9.0 ${INSTALLDIR}/$FILE ; \
    done; \
  elif [ $FILE = libstdc++.so.2.9.0 ]; then \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c  $FILE ${INSTALLDIR}/$FILE ; \
    : On the HP, shared libraries must be mode 555. ;\
    chmod 555 ${INSTALLDIR}/$FILE ; \
  else \
    /bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 $FILE ${INSTALLDIR}/$FILE ; \
    ranlib ${INSTALLDIR}/$FILE ; \
    chmod a-x ${INSTALLDIR}/$FILE ; \
  fi ; \
done
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libstdc++'
if [ -z "" ]; then \
  true; \
else \
  rootpre=`pwd`/; export rootpre; \
  srcrootpre=`cd /jC/fromnet/egcs-1.1.2/libstdc++; pwd`/; export srcrootpre; \
  lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
  compiler="/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/"; \
  for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
    dir=`echo $i | sed -e 's/;.*$//'`; \
    if [ "${dir}" = "." ]; then \
      true; \
    else \
      if [ -d ../${dir}/${lib} ]; then \
	flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
	if (cd ../${dir}/${lib}; make "SHELL=/bin/sh" "INSTALL=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c" "INSTALL_DATA=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c " "prefix=/tmp/egcs-dir" "exec_prefix=/tmp/egcs-dir" "tooldir=/tmp/egcs-dir/i686-pc-linux-gnu" "gxx_include_dir=/tmp/egcs-dir/include/g++" "libsubdir=/tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66" "gcc_version=egcs-2.91.66" "gcc_version_trigger=/jC/fromnet/egcs-1.1.2/gcc/version.c" "AR=ar" "AR_FLAGS=rc" "CC=/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/" "CXX=/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2 -fvtable-thunks -D_GNU_SOURCE" "NM=nm" "RANLIB=ranlib" "LIBCFLAGS=-g -O2" "LIBCXXFLAGS=-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates" "LOADLIBES=" "LDFLAGS=" "MAKEINFO=/tmp/build-egcs/texinfo/makeinfo/makeinfo " "SHLIB=libstdc++.so.2.9.0" "SHCURSES=" "RUNTESTFLAGS=" \
			CFLAGS="-g -O2 ${flags}" \
			CXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE ${flags}" \
			LIBCFLAGS="-g -O2 ${flags}" \
			LIBCXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
			LDFLAGS=" ${flags}" \
			install); then \
	  true; \
	else \
	  exit 1; \
	fi; \
      else true; \
      fi; \
    fi; \
  done; \
fi
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libstdc++'
make[1]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libstdc++'
/tmp/build-egcs/i686-pc-linux-gnu/libf2c
make[1]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c'
cd libI77; make CC='/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/' CFLAGS='-g -O2' CPPFLAGS='' AR='ar' RANLIB='ranlib' PICFLAG='' RUNTESTFLAGS='' all
/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libI77
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libI77'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libI77'
cd libF77; make CC='/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/' CFLAGS='-g -O2' CPPFLAGS='' AR='ar' RANLIB='ranlib' PICFLAG='' RUNTESTFLAGS='' all
/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libF77
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libF77'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libF77'
cd libU77; make CC='/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/' CFLAGS='-g -O2' CPPFLAGS='' AR='ar' RANLIB='ranlib' PICFLAG='' RUNTESTFLAGS='' all
/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libU77
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libU77'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c/libU77'
make CC='/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/' CFLAGS='-g -O2' CPPFLAGS='' AR='ar' RANLIB='ranlib' PICFLAG='' RUNTESTFLAGS='' libg2c.a
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c'
make[2]: `libg2c.a' is up to date.
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c'
/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libg2c.a /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libg2c.a.n
( cd /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66 ; ranlib libg2c.a.n )
mv -f /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libg2c.a.n /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/libg2c.a
/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 g2c.h /tmp/egcs-dir/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.66/include/g2c.h
make[1]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libf2c'
/tmp/build-egcs/i686-pc-linux-gnu/libiberty
make[1]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libiberty'
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libiberty'
if [ -z "" ]; then \
  true; \
else \
  rootpre=`pwd`/; export rootpre; \
  srcrootpre=`cd /jC/fromnet/egcs-1.1.2/libiberty; pwd`/; export srcrootpre; \
  lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
  compiler="/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/"; \
  for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
    dir=`echo $i | sed -e 's/;.*$//'`; \
    if [ "${dir}" = "." ]; then \
      true; \
    else \
      if [ -d ../${dir}/${lib} ]; then \
	flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
	if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc" "CC=/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/" "CFLAGS=-g -O2" "LIBCFLAGS=-g -O2" "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c" "INSTALL_DATA=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c " "LDFLAGS=" "LOADLIBES=" "RANLIB=ranlib" "SHELL=/bin/sh" \
			CFLAGS="-g -O2 ${flags}" \
			CXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE ${flags}" \
			LIBCFLAGS="-g -O2 ${flags}" \
			LIBCXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
			LDFLAGS=" ${flags}" \
			all); then \
	  true; \
	else \
	  exit 1; \
	fi; \
      else true; \
      fi; \
    fi; \
  done; \
fi
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libiberty'
/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644 libiberty.a /tmp/egcs-dir/i686-pc-linux-gnu/lib/libiberty.a.n
( cd /tmp/egcs-dir/i686-pc-linux-gnu/lib ; ranlib libiberty.a.n )
mv -f /tmp/egcs-dir/i686-pc-linux-gnu/lib/libiberty.a.n /tmp/egcs-dir/i686-pc-linux-gnu/lib/libiberty.a
make[2]: Entering directory `/tmp/build-egcs/i686-pc-linux-gnu/libiberty'
if [ -z "" ]; then \
  true; \
else \
  rootpre=`pwd`/; export rootpre; \
  srcrootpre=`cd /jC/fromnet/egcs-1.1.2/libiberty; pwd`/; export srcrootpre; \
  lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
  compiler="/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/"; \
  for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
    dir=`echo $i | sed -e 's/;.*$//'`; \
    if [ "${dir}" = "." ]; then \
      true; \
    else \
      if [ -d ../${dir}/${lib} ]; then \
	flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
	if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc" "CC=/tmp/build-egcs/gcc/xgcc -B/tmp/build-egcs/gcc/" "CFLAGS=-g -O2" "LIBCFLAGS=-g -O2" "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c" "INSTALL_DATA=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /jC/fromnet/egcs-1.1.2/install-sh -c " "LDFLAGS=" "LOADLIBES=" "RANLIB=ranlib" "SHELL=/bin/sh" \
			CFLAGS="-g -O2 ${flags}" \
			CXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE ${flags}" \
			LIBCFLAGS="-g -O2 ${flags}" \
			LIBCXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
			LDFLAGS=" ${flags}" \
			install); then \
	  true; \
	else \
	  exit 1; \
	fi; \
      else true; \
      fi; \
    fi; \
  done; \
fi
make[2]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libiberty'
make[1]: Leaving directory `/tmp/build-egcs/i686-pc-linux-gnu/libiberty'
>From kip@lyris.com Wed Jun 09 12:51:00 1999
From: <kip@lyris.com>
To: egcs-bugs@egcs.cygnus.com
Subject: bool being evaluated incorrectly 
Date: Wed, 09 Jun 1999 12:51:00 -0000
Message-id: <Pine.SOL.4.05.9906091244040.9215-100001@luna>
X-SW-Source: 1999-06/msg00256.html
Content-length: 431

I encountered a strange problem in egcs-1.1.2
even though errno is 61, in the following code errno_number is evaluating
to false.

bool errno_number = ((errno == ENOTCONN) || (errno == ECONNREFUSED) || 
(errno == 61));

I could not make a simple testcase that replicated the behaviour so I took
the unconventional approach of attaching a framegrab of my ddd session. I
hope this helps. I don't know what to make of this behaviour.
>From martin@mira.isdn.cs.tu-berlin.de Wed Jun 09 12:54:00 1999
From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>
To: j.cormack@doc.ic.ac.uk
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: egcs bug compiling crystal space
Date: Wed, 09 Jun 1999 12:54:00 -0000
Message-id: <199906091946.VAA02058@mira.isdn.cs.tu-berlin.de>
References: <375EA36D.B58B7255@doc.ic.ac.uk> <375EA36D.B58B7255@doc.ic.ac.uk>
X-SW-Source: 1999-06/msg00257.html
Content-length: 366

> Had this problem compiling crystal space 0.13
> http://crystal.linuxgames.com/ on a 
> standard redhat 6.0 system

Thanks for your bug report. gcc-2.95 19990606 compiles it just fine,
so it appears that the bug has been fixed.

Regards,
Martin

P.S. This was the second report for this specific file in two days -
it seems like a new version has been released :-)
>From ghazi@caip.rutgers.edu Wed Jun 09 12:56:00 1999
From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>
To: fixincludes@autogen.freeservers.com
Cc: egcs-bugs@egcs.cygnus.com
Subject: Yet another SunOS4 fixincludes diff, termios.h, ioctl_fix_ctrl
Date: Wed, 09 Jun 1999 12:56:00 -0000
Message-id: <199906091956.PAA05998@caip.rutgers.edu>
X-SW-Source: 1999-06/msg00258.html
Content-length: 2790

	Here's another problem in fixincludes WRT sparc-sun-sunos4.1.4:


 > --- include.egcs-1.1.2/termios.h	Sat Jun  5 17:29:38 1999
 > +++ include.CVS19990609/termios.h	Wed Jun  9 12:48:25 1999
 > @@ -48,32 +48,32 @@
 >  #define	VTIME		VEOL
 >  
 >  #ifndef	_POSIX_SOURCE
 > -#define	_CTRL(c)	(c&037)
 > +#define	_CTRL(c)	('c'&037)
 >  
 >  /*
 >   * default control chars.
 >   * guarded for ttychars.h.
 >   */
 >  #ifndef	CINTR
 > -#define	CINTR	_CTRL('c')
 > +#define	CINTR	_CTRL(c)
 >  #define	CQUIT	034		/* FS, ^\ */
 >  #define	CERASE	0177		/* DEL, ^? */
 > -#define	CKILL	_CTRL('u')
 > -#define	CEOF	_CTRL('d')
 > +#define	CKILL	_CTRL(u)
 > +#define	CEOF	_CTRL(d)
 >  #define	CEOT	CEOF
 >  #define	CEOL	0
 >  #define	CEOL2	0
 >  #define	CSWTCH	0
 >  #define	CNSWTCH	0
 > -#define	CSTART	_CTRL('q')
 > -#define	CSTOP	_CTRL('s')
 > -#define	CSUSP	_CTRL('z')
 > -#define	CDSUSP	_CTRL('y')
 > -#define	CRPRNT	_CTRL('r')
 > -#define	CFLUSH	_CTRL('o')
 > -#define	CWERASE	_CTRL('w')
 > -#define	CLNEXT	_CTRL('v')
 > -#define CSTATUS _CTRL('t')
 > +#define	CSTART	_CTRL(q)
 > +#define	CSTOP	_CTRL(s)
 > +#define	CSUSP	_CTRL(z)
 > +#define	CDSUSP	_CTRL(y)
 > +#define	CRPRNT	_CTRL(r)
 > +#define	CFLUSH	_CTRL(o)
 > +#define	CWERASE	_CTRL(w)
 > +#define	CLNEXT	_CTRL(v)
 > +#define CSTATUS _CTRL(t)
 >  #endif	/* !CINTR */
 >  
 >  #define	CESC	'\\'


	This appears to happen because the ioctl_fix_ctrl fix never
runs on the termios.h file.  The select pattern for that fix in
inclhack.def is "CTRL[ \t]" (i.e. CTRL followed by at least one
whitespace char.)  All the CTRL instances are followed by an open
paren in termios.h.  Note the sed patterns don't require CTRL to have
a whitespace after it.

	I don't know what the proper regexp for the select statement
is.  The problem is that the ioctl_fix_ctrl fix is not documented at
all other than saying "Fix CTRL macros".  But its not like the old
fixincludes script had much in the way of docs anyway... :-)

	A related problem is that the ioctl_fix_ctrl gets run on many
other files unnecessarily because they contain macros whose name ends
in CTRL which matches the select pattern.  E.g. LEFTCTRL, RIGHTCTRL.
But these files aren't of the form of which the sed patterns operate
on.  Fixing the select value will fix this too.

	The third problem is that even if I force the ioctl_fix_ctrl fix
to run, I still get a one line diff of this:

 > @@ -48,7 +48,7 @@
 >  #define        VTIME           VEOL
 >  
 >  #ifndef        _POSIX_SOURCE
 > -#define        _CTRL(c)        (c&037)
 > +#define        _CTRL('c')      ('c'&037)
 >  
 >  /*
 >   * default control chars.


	So I'm not sure what the right patch for this is...

		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Qwest Internet Solutions
>From khan@xraylith.wisc.EDU Wed Jun 09 13:11:00 1999
From: Mumit Khan <khan@xraylith.wisc.EDU>
To: egcs-bugs@egcs.cygnus.com
Subject: [repost] stdcall function does not return floating point result - bug in reg-stack.c
Date: Wed, 09 Jun 1999 13:11:00 -0000
Message-id: <199906091904.OAA08048@mercury.xraylith.wisc.edu>
X-SW-Source: 1999-06/msg00259.html
Content-length: 2608

This is an old problem, and has yet to be fixed. Note that rth's change
did not fix the problem, so perhaps it's time to revisit Tim Josling's
patch to reg-stack.c (posted to egcs-bugs a while back, see URL below).

I've been using Tim's patch in my win32 egcs distributions since 
egcs-1.1.2.

------- Forwarded Message

Date:    Mon, 12 Apr 1999 09:07:34 -0500
From:    Mumit Khan <khan@xraylith.wisc.EDU>
To:      Richard Henderson <rth@cygnus.com>
cc:      tej@melbpc.org.au, egcs-bugs@cygnus.com


On Tue, 9 Mar 1999, Richard Henderson wrote:

> On Sun, Feb 14, 1999 at 07:54:08PM +1100, Tim Josling wrote:
> > I traced the problem down to a bug in reg-stack.c. See 5 for the patch.
> > The problem is that in routine stack_reg_life_analysis it tries to check
> > if the block does a return from the function by checking if the last
> > insn of each block is a jump with return, or for the last block any
> > instruction with return. However in a stdcall function, the return
> > instruction is a PARALLEL with the return under the parallel so the code
> > does not find it ...
> 
> Thanks for the analysis.  I've checked in the following to address 
> the problem.
> 
> 
> r~
> 
> 
>         * reg-stack.c (stack_reg_life_analysis): Use returnjump_p
>         instead of an explicit test for RETURN.
> 

I don't think this fixes the problem. Here's the testcase from my first
bug report regarding this:
  
  double __attribute__((stdcall))
  foo_local1 (double f) {
    return f;
  }

Here's egcs-1.1.2 + Tim Josling fix:
  
	  .file   "stdcall-bug.c"
  gcc2_compiled.:
  ___gnu_compiled_c:
  .text
	  .align 4
  .globl _foo_local1@8
	  .#define    _foo_local1@8;  .scl    2;      .type   32;     .endef
  _foo_local1@8:
	  pushl %ebp
	  movl %esp,%ebp
	  fldl 8(%ebp)
	  movl %ebp,%esp
	  popl %ebp
	  ret $8

Here's CVS 1999-04-10:

	  .file   "stdcall-bug.c"
  gcc2_compiled.:
  ___gnu_compiled_c:
  .text
	  .align 4
  .globl _foo_local1@8
	  .#define    _foo_local1@8;  .scl    2;      .type   32;     .endef
  _foo_local1@8:
	  pushl %ebp
	  movl %esp,%ebp
	  subl $8,%esp
	  fldl 8(%ebp)
	  fstp %st(0)          <<<<<<<<<<<<<<<<<<<<<<< oops.
	  movl %ebp,%esp
	  popl %ebp
	  ret $16

The line marked with '<<<<' shows that FP stack is being popped still.

There's this other bug with stdcall popping the wrong number of items,
but that's a different bug and has been reported already.

Tim's patch does handle this correctly. I had forwarded a copy of his
patch to egcs-bugs. See
  http://egcs.cygnus.com/ml/egcs-patches/1999-02/msg00610.html

Regards,
Mumit

------- End of Forwarded Message


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 990608 gcc-2.95 fails bootstrap on HP
  1999-06-30 23:07 ` Jeffrey A Law
@ 1999-06-09 23:40   ` Jerry Quinn
  0 siblings, 0 replies; 3+ messages in thread
From: Jerry Quinn @ 1999-06-09 23:40 UTC (permalink / raw)
  To: law; +Cc: egcs-bugs

Jeffrey A Law wrote:
> 
>   In message < 199906091904.PAA18878@wmtl249c.us.nortel.com >you write:
>   > On HPUX 10.20, C180 (pa2.0 machine), bootstrap compiler egcs 1.1.2,
>   > gas 2.9.1.  Recent gas snapshot also dies the same way.
> Not sure what the problem could be.  I just bootstrapped my c160 hpux10.20
> without any problems.
> 
> You'll need to debug this one yourself.

I was finally able to bootstrap using the HP ansi cc compiler.  I still
don't know why egcs 1.1.2 failed as a first stage compiler.

-- 
Jerry Quinn                             Tel: (514) 761-8737
jquinn@nortelnetworks.com               Fax: (514) 761-8505
Speech Recognition Research
>From martin@mira.isdn.cs.tu-berlin.de Thu Jun 10 00:07:00 1999
From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>
To: deb@pixar.com
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: simple example of incorrect inline (solaris2.6, 1999/06/08)
Date: Thu, 10 Jun 1999 00:07:00 -0000
Message-id: <199906100705.JAA00561@mira.isdn.cs.tu-berlin.de>
References: <m10rwFH-000Uj9C@tekla.pixar.com> <m10rwFH-000Uj9C@tekla.pixar.com>
X-SW-Source: 1999-06/msg00281.html
Content-length: 2364

> >From martin  Thu Jun 10 08:38:05 1999
>  * When you compile the code below with -O2, which inlines,
>  * the output code is just plain wrong.  Without O2, which avoids
>  * the inlining, the code is correct.

I assume you've investigated this for a reason. However, it seems that
you somewhere lost track - the assembler code is fine. AFAICT, you got
tricked by the SPARC delay slots.

In case you are not that familiar with the SPARC architecture, here's
a quick summary: The statement immediately after a branch (or call)
instruction is executed in any case, and is executed *before* the
first instruction at the jump target is executed.

With that, we'll look at your two problems:

> 	endMarker(head+13);			// Note: the +13 addition
> 						// is computed *after* the
> 						// call to endMarker!

The generated code here is

> .LL7:
> 	st	%o0, [%l0]
> 	call	endMarker__FPv, 0
> 	add	%o0, 52, %o0

o0 carries the value of 'head', l0 is 'this'. Since head is a member,
and has just been computed, the compiler stores o0 back into *this,
i.e. it puts head back into memory.

Next, endMarker is called, expecting the void* argument in o0 (which
will become i0 inside endMarker). As I've tried to explain, the value
52 is added to o0 *before* endMarker starts executing.

> 	void *p = head ? head : auxGet();
> 
> 	head = static_cast<Link*>(p)->next;	// this line is not performed!!

This is a little more tricky. First, we have two cases: head is zero,
and head is not zero. In any case, we need to
- fetch the value of p->next,
- put it into o0, and
- store it back into head (i.e. [l0]).

As we've seen, the compiler later assumes that head is in o0, and
stores is back just before calling endMarker.

Now, if head is zero:

> 	call	auxGet__12BaseMemchunk, 0
> 	mov	%l0, %o0
> 	mov	%o0, %i0
> 	ld	[%i0], %o0

Here, we put 'this' into o0 (again, before calling auxGet). When
auxGet returns, we take the result (p = o0) to i0, and fetch *p into
o0. If you look at the layout of struct Link - this is exactly the
->next field.

OTOH, if head is not zero:

> 	ld	[%l0], %i0
> 	cmp	%i0, 0
> 	bne,a	.LL7
> 	ld	[%i0], %o0

l0 is 'this', then i0 is head (=p) . If it is not zero, we'll branch
to LL7 (see above), but *before* we do that, we fetch *p into o0. This
is the new value of head, which we'll expect to have when we arrive at
LL7.

Hope this helps,
Martin
>From cate@student.ethz.ch Thu Jun 10 00:28:00 1999
From: Giacomo Amabile Catenazzi <cate@student.ethz.ch>
To: egcs-bugs@egcs.cygnus.com
Subject: Installing gcc-2.95(19990608) needs autoconf 2.12.1+ , but not checked
Date: Thu, 10 Jun 1999 00:28:00 -0000
Message-id: <375F6936.1F4A2067@student.ethz.ch>
X-SW-Source: 1999-06/msg00282.html
Content-length: 520

gcc-2.95(19990608) requires autoconf 2.12.1, but it is not checked
by configure (it is checked only later, by `make boostrap`.
Here the error given by `make bootstrap`:

Bootstrapping the compiler
make[1]: Entering directory `/arch/src/objegcs/gcc'
cd ../../egcs-19990524/gcc; autoconf
FATAL ERROR: Autoconf version 2.12.1 or higher is required for this
 script
make[1]: *** [../../egcs-19990524/gcc/configure] Error 2
make[1]: Leaving directory `/arch/src/objegcs/gcc'
make: *** [bootstrap] Error 2


Giacomo Catenazzi
>From martin@mira.isdn.cs.tu-berlin.de Thu Jun 10 00:42:00 1999
From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>
To: jer@research.att.com
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: g++ internal compiler error 378
Date: Thu, 10 Jun 1999 00:42:00 -0000
Message-id: <199906100737.JAA00645@mira.isdn.cs.tu-berlin.de>
References: <Pine.SGI.4.03.9906091802270.26526-101000@jimma.research.att.com> <Pine.SGI.4.03.9906091802270.26526-101000@jimma.research.att.com>
X-SW-Source: 1999-06/msg00283.html
Content-length: 1430

>  egcs version egcs-2.91.66
>  running on SGI IRIX 6.2 (also happens on IRIX 6.5)

Thanks for your bug report. gcc-2.95 19990606 reports (cutting the path)

In file included from xdouble.h:465,
                 from bigint.h:25,
                 from galois_field.h:18,
                 from gf_p_base.h:19,
                 from gf_p_base.c:14:
xdouble.inl: In function `class xdouble operator |(const xdouble &, const xdouble &)':
xdouble.inl:387: conversion from `double' to non-scalar type `xdouble' requested
' to non-scalar type `xdouble' requested
xdouble.inl:389: conversion from `double' to non-scalar type `xdouble' requested
In file included from gf_p_element.h:20,
                 from gf_p_base.h:21,
                 from gf_p_base.c:14:
gf_element.h: At top level:
gf_element.h:41: warning: friend declaration `void add(gf_p_element &, const gf_p_element &, const gf_p_element &)'
gf_element.h:41: warning:   declares a non-template function

The first problem is the line

  xdouble x = dx + (1.0 - dx * b.hi) * dx;	 

where the rhs is of type double, and there is no xdouble ctor taking a
single double :-)

I believe the other problem is elaborated on the egcs web page.

In summary: The current egcs snapshot detects a number of problems in
the code, but doesn't crash. I don't know what you've intended with
the many friend declarations - after just removing all of them, the
code compiles.

Regards,
Martin
>From martin@mira.isdn.cs.tu-berlin.de Thu Jun 10 00:48:00 1999
From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>
To: kip@lyris.com
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: bool being evaluated incorrectly
Date: Thu, 10 Jun 1999 00:48:00 -0000
Message-id: <199906100743.JAA00655@mira.isdn.cs.tu-berlin.de>
References: <Pine.SOL.4.05.9906091244040.9215-100001@luna> <Pine.SOL.4.05.9906091244040.9215-100001@luna>
X-SW-Source: 1999-06/msg00284.html
Content-length: 511

> I could not make a simple testcase that replicated the behaviour so I took
> the unconventional approach of attaching a framegrab of my ddd session. I
> hope this helps.

Not really. All I can say is: Yes, it looks like a bug somewhere.

Please read the section "Bug Reporting" of the gcc manual. In this
case, I'd recommend to send preprocessor output of the particular
file, and the corresponding assembler code. Perhaps you can throw away
the asm of anything but the function in question.

Regards,
Martin
>From law@cygnus.com Thu Jun 10 01:03:00 1999
From: Jeffrey A Law <law@cygnus.com>
To: "Jerry Quinn" <jquinn@nortelnetworks.com>
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: 990608 gcc-2.95 fails bootstrap on HP 
Date: Thu, 10 Jun 1999 01:03:00 -0000
Message-id: <14861.929001496@upchuck.cygnus.com>
References: <375F5DC1.3388C2F8@americasm01.nt.com>
X-SW-Source: 1999-06/msg00285.html
Content-length: 572

  In message < 375F5DC1.3388C2F8@americasm01.nt.com >you write:
  > > You'll need to debug this one yourself.
  > 
  > I was finally able to bootstrap using the HP ansi cc compiler.  I still
  > don't know why egcs 1.1.2 failed as a first stage compiler.
Is it repeatable using egcs-1.1.2 to start the bootstrap?  If so I may
take another stab at it.  It could be the case that we've got a 1.1.2 bug,
or it may be the case that we've got undefined behavior somewhere in the
compiler that happens to be exposed by 1.1.2.  I'm more interested in the
latter case -)


jeff



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 990608 gcc-2.95 fails bootstrap on HP
  1999-06-09 12:28 990608 gcc-2.95 fails bootstrap on HP Jerry Quinn
@ 1999-06-30 23:07 ` Jeffrey A Law
  1999-06-09 23:40   ` Jerry Quinn
  0 siblings, 1 reply; 3+ messages in thread
From: Jeffrey A Law @ 1999-06-30 23:07 UTC (permalink / raw)
  To: Jerry Quinn; +Cc: egcs-bugs

  In message < 199906091904.PAA18878@wmtl249c.us.nortel.com >you write:
  > On HPUX 10.20, C180 (pa2.0 machine), bootstrap compiler egcs 1.1.2,
  > gas 2.9.1.  Recent gas snapshot also dies the same way.
Not sure what the problem could be.  I just bootstrapped my c160 hpux10.20
without any problems.

You'll need to debug this one yourself.

jeff


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1999-06-30 23:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-06-09 12:28 990608 gcc-2.95 fails bootstrap on HP Jerry Quinn
1999-06-30 23:07 ` Jeffrey A Law
1999-06-09 23:40   ` Jerry Quinn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).