[gnu.gcc.bug] gcc 1.34 ported to Prime EXL 300 Series

hecker@fed1.prime.com (Frank Hecker) (04/26/89)

This is to notify anyone who's interested that I have upgraded the
gcc port for the Prime EXL 300 Series to version 1.34; the prior
version was 1.32.

The Prime EXL 300 Series comprises the Prime EXL 316, 320, and 325:
80386-based uniprocessor supermicro systems running Prime's
implementation of AT&T System V, Release 3.1.  (I used to refer to
these just as the Prime EXL Series, but Prime has just announced
that it plans to resell the Symmetry systems from Sequent as the
Prime EXL 1200 Series, thereby confusing our terminology.)

As with gcc 1.32 the port was very smooth, with only the standard
System V changes to `Makefile' required.  I made a couple more
changes to `Makefile' to install the man page file properly for the
EXL.  Prime does not include nroff/troff with the EXL 300 Series, but
does include the man command that lists preformatted files in
/usr/catman.  I therefore formatted `gcc.1' on a Sun system into
`gcc.manpage' and installed that.

I have included below the diffs to `Makefile' and a copy of the file
`README.EXL300' for the Prime EXL 300 Series version of gcc 1.34.

Frank Hecker
Prime Federal Operations
hecker@fed1.prime.com

P.S.  My belated thanks to all who directed me to the latest version
of the patch utility, without which I would not have able to apply
the 1.33 and 1.34 patch files.  I ended up using pub/patch.tar.Z from
uunet.uu.net.  Its version (from patch -v) is

$Header: patch.c,v 2.0.1.6 88/06/22 20:46:39 lwall Locked $
Patch level: 12

P.P.S.  Since I do not subscribe to bug-gcc please e-mail any
comments to me directly.

===============================================================================
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  DIFFS.EXL300 README.EXL300
# Wrapped by hecker@fedops on Tue Apr 25 17:29:15 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'DIFFS.EXL300' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'DIFFS.EXL300'\"
else
echo shar: Extracting \"'DIFFS.EXL300'\" \(1676 characters\)
sed "s/^X//" >'DIFFS.EXL300' <<'END_OF_FILE'
X*** gcc-1.34/Makefile	Tue Mar 28 10:02:15 1989
X--- gcc/Makefile	Fri Apr 21 14:38:26 1989
X***************
X*** 28,32 ****
X  SHELL = /bin/sh
X  # on sysV, define this as cp.
X! INSTALL = install -c
X
X  # Directory in which to put the executable for the command `gcc'
X--- 28,32 ----
X  SHELL = /bin/sh
X  # on sysV, define this as cp.
X! INSTALL = cp
X  
X  # Directory in which to put the executable for the command `gcc'
X***************
X*** 35,39 ****
X  libdir = $(prefix)/usr/local/lib
X  # Directory in which to put man pages.
X! mandir = $(prefix)/usr/local/man/man1
X  # Number to put in man-page filename.
X  manext = 1
X--- 35,39 ----
X  libdir = $(prefix)/usr/local/lib
X  # Directory in which to put man pages.
X! mandir = $(prefix)/usr/catman/local/man1
X  # Number to put in man-page filename.
X  manext = 1
X***************
X*** 57,61 ****
X  
X  # If your system has alloca() in /lib/libPW.a, un-comment the following line:
X! # CLIB= -lPW
X  
X  # If your system's malloc() routine fails for any reason (as it does on
X--- 57,61 ----
X  
X  # If your system has alloca() in /lib/libPW.a, un-comment the following line:
X! CLIB= -lPW
X  
X  # If your system's malloc() routine fails for any reason (as it does on
X***************
X*** 446,450 ****
X  	chmod ugo+rx $(libdir)/gcc-include
X  	for file in $(USER_H); do $(INSTALL) $${file} $(libdir)/gcc-include; done
X! 	$(INSTALL) gcc.1 $(mandir)/gcc.$(manext)
X  
X  # do make -f ../gcc/Makefile maketest DIR=../gcc
X--- 446,450 ----
X  	chmod ugo+rx $(libdir)/gcc-include
X  	for file in $(USER_H); do $(INSTALL) $${file} $(libdir)/gcc-include; done
X! 	$(INSTALL) gcc.manpage $(mandir)/gcc.$(manext)
X  
X  # do make -f ../gcc/Makefile maketest DIR=../gcc
END_OF_FILE
if test 1676 -ne `wc -c <'DIFFS.EXL300'`; then
    echo shar: \"'DIFFS.EXL300'\" unpacked with wrong size!
fi
# end of 'DIFFS.EXL300'
fi
if test -f 'README.EXL300' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README.EXL300'\"
else
echo shar: Extracting \"'README.EXL300'\" \(8109 characters\)
sed "s/^X//" >'README.EXL300' <<'END_OF_FILE'
X		 GNU C Compiler, Version 1.34 (Beta)
X	 Prime EXL 300 Series Installation and Release Notes
X
X			     Frank Hecker
X			  Federal Operations
X			 Prime Computer, Inc.
X
X			    April 25, 1989
X
X
XIntroduction
X
XThis directory contains version 1.34 of the GNU C compiler (gcc),
Xported to the Prime EXL 300 Series of 80386-based UNIX supermicro
Xsystems running AT&T System V/386.  The GNU C compiler implements the
XANSI draft proposed standard for the C language.
X
XNote that although the GNU C compiler is technically still in beta
Xrelease it is quite stable and can be used with little or no problems.
XAlso note that the GNU C compiler with the `-g' option will generate
Xcode for either the standard source-level debugger sdb or the GNU
Xsource-level debugger GDB.
X
X
XThe Free Software Foundation and the GNU Project
X
XThe GNU C compiler is part of the GNU family of software from the Free
XSoftware Foundation, a non-profit organization dedicated to developing
Xa complete integrated software system called GNU (``GNU's not UNIX'')
Xthat will be upward compatible with UNIX.  The GNU software collection
Xalso includes the GNU Emacs editor, the GNU C++ compiler, and
Xcompatible replacements for such utilities as awk, make, tar, etc.
X
XAlthough all GNU software is made available at no charge, satisfied
Xusers can express their appreciation by making a contribution to:
X
X	Free Software Foundation
X	675 Massachusetts Avenue
X	Cambridge MA 02139
X
XDonations to the Free Software Foundation are fully tax-deductible and
Xare used to support the continuing development and distribution of
Xfree software.
X
XAlternatively, users who feel that GNU software has been of value to
Xthem can have their organizations order one or more of the several GNU
Xdistribution tapes.  Note that this does not count as a donation for
Xtax purposes, but it may qualify as a business expense.
X
XEach tape is available in either 1/2-inch 9-track or 1/4-inch
Xcartridge media.  The 1/2-inch tapes are at 1600 bpi, and the 1/4-inch
Xcartridge tapes are in the QIC-24 format readable by the Prime EXL 300
XSeries.
X
XFor prices and ordering information on GNU tapes and further
Xinformation on the Free Software Foundation please see the file
X`GNUS-BULLETIN', a copy of the most recent FSF newsletter.
X
X
XInstallation
X
XThis version of the GNU C compiler requires a Prime EXL 300 Series
Xsystem (EXL 316, EXL 320, or EXL 325) with the Development Tool Kit
Xinstalled.  The executables were built using Prime's implementation of
XAT&T System V/386, Release 3.1; they may need to be rebuilt for
Xearlier or later versions of the Prime EXL 300 Series operating
Xsystem.
X
XTo install the GNU C compiler on the Prime EXL 300 Series please
Xperform the following steps.
X
XFirst, load the distribution tape:
X
X	# cd /usr/local/src		(or some other suitable directory)
X	# cpio -icvdumB gcc </dev/rct/c0d5
X
X(Note that the GNU C compiler may be accompanied by other software on
Xthe same tape.)
X
XThe GNU C compiler distribution directory for the Prime EXL 300 Series
Xcurrently requires approximately 40,000 blocks of disk space (20 MB).
X
XSecond, if necessary create the additional directories required for
Xthe installation:
X
X	# mkdir -p /usr/local/bin
X	# mkdir -p /usr/local/lib
X	# mkdir -p /usr/catman/local/man1
X
XFinally, install the compiler:
X
X	# cd gcc
X	# make install
X
XThe GNU C compiler is then invoked by the command `gcc', assuming that
Xthe directory `/usr/local/bin' is in your PATH environment variable.
X
X
XChanges for the Prime EXL 300 Series
X
XI originally obtained version 1.31 of the GNU C compiler as a complete
Xdistribution.  I obtained versions 1.32, 1.33, and 1.34 in the form of
Xpatch files which I then applied successively to the version 1.31
Xfiles using the patch utility.
X
XAfter patching I deleted the file `xm-gnx.h' (replaced by
X`xm-genix.h'), regenerated the on-line info files (`cpp.info',
X`gcc.info', and `gcc.info-*'), and recreated the `TAGS' file.  I also
Xdeleted the TeX output files *.dvi, etc., since they were now out of
Xdate and I did not have a version of TeX with which to recreate them.
X
XVersion 1.34 of the GNU C compiler includes the changes necessary to
Xgenerate 80386 code (as did versions 1.33 and 1.32).  The only
Xadditional changes necessary to port the compiler to the Prime EXL 300
XSeries were to change `Makefile' to enable System V-specific actions
Xand install the formatted man page file.  The exact changes made can
Xbe found in the file `DIFFS.EXL300'.
X
X
XDocumentation
X
XFor basic information about invoking the GNU C compiler please use the
Xcommand `man gcc' to list the man page.  (This is installed from a
Xformatted version `gcc.manpage' of the nroff source file `gcc.1'.)
XHowever note that the man page may be out of date with respect to the
Xon-line documentation (see below).
X
XPlease see the files `README' and `INSTALL' for more information about
Xrebuilding the GNU C compiler from source code.  The files `PROBLEMS'
Xand `PROJECTS' also contain information of interest.
X
XComplete documentation for the GNU C compiler and its preprocessor is
Xincluded for on-line perusal using the `info' command in GNU Emacs.
XTo install the documentation files please do the following:
X
X	# cp gcc.info gcc.info-* /usr/local/emacs/info
X	# cp cpp.info /usr/local/emacs/info
X
X(assuming that `/usr/local/emacs' is the run-time directory for GNU
XEmacs).
X
XYou must also add the following lines to the bottom of the file `dir'
Xin `/usr/local/emacs/info':
X
X* GCC: (gcc.info).  Use and internals of the GNU C compiler.
X
X* CPP: (cpp.info).  GNU C preprocessor.
X
XFor more information about using the GNU Emacs info facility please
Xsee the GNU Emacs documentation or the `README' files included with
Xthe Prime EXL 300 Series port of GNU Emacs.
X
XThe on-line documentation is also available in a preformatted form
Xsuitable for printing on a line printer or viewing using vi or pg.
XSee the files `gcc.manual' and `cpp.manual'.
X
X
XRemaining Problems and Issues
X
XWhenw compiling existing code previously compiled by the AT&T C
Xcompiler (cc) you may get compilation errors unless you specify the
X`-traditional' option to the GNU C compiler.  This is due to language
Xdifferences between traditional C compilers and compilers that
Ximplement the draft ANSI C standard.
X
XIf you wish to install the main GNU C compiler executable (`gcc') in a
Xdirectory other than `/usr/local/bin' simply modify `Makefile' to
Xchange the `bindir' variable before invoking the `make install'
Xcommand.
X
XYou may similarly modify the variable `mandir' to install the man page
Xfile in a directory other than `/usr/catman/local/man1'.  However note
Xthat unless you modify the man shell script (`/usr/bin/man') the
Xdirectory you choose must be under `/usr/catman' and must have a final
Xcomponent of the form `man*'.  One possibility would be to install the
Xman page in the standard man page directory `/usr/catman/u_man/man1',
Xbut I do not recommend this for local software.
X
XIf you wish to install the other GNU C compiler executables
X(`gcc-cc1', `gcc-cpp', and `gcc-gnulib') or the GNU C include files
X(`gcc-include/*.h') in a directory other than `/usr/local/lib' you
Xmust modify `Makefile' to change the `libdir' variable and then
Xrecompile the GNU C compiler from the source code:
X
X	# make clean
X	# make bootstrap
X
XThis procedure is actually much more thorough than needed, since it
Xwill essentially compile the GNU C compiler three times: once with cc,
Xonce with itself as built by cc, and once by itself as built by
Xitself.
X
X
XProblem Reporting
X
XPlease direct any problems or questions regarding the Prime EXL 300
XSeries port of the GNU C compiler to the following address(es):
X
X	U.S. mail:	Frank Hecker
X			Prime Computer, Inc.
X			1375 Piccard Dr.
X			Rockville MD  20850
X
X	Phone:		1-301-948-7010 x308
X
X	E-mail:		hecker@fed1.prime.com
X
XHowever, please note that the GNU C compiler is not an official Prime
Xproduct and is not supported or warrantied in any way whatsoever by
Xmyself, Prime Computer, Inc., or the Free Software Foundation.  It may
Xbe freely redistributed within Prime and to third parties under the
Xterms of the GNU General Public License; see the file `COPYING' for
Xmore details.
END_OF_FILE
if test 8109 -ne `wc -c <'README.EXL300'`; then
    echo shar: \"'README.EXL300'\" unpacked with wrong size!
fi
# end of 'README.EXL300'
fi
echo shar: End of shell archive.
exit 0