[gnu.gcc] GCC 1.37 for the Apollo

vasta@apollo.HP.COM (John Vasta) (02/22/90)

The changes required to get the GNU C compiler running on
Apollo 68K platforms are available via anonymous ftp from
labrea.stanford.edu in the form of a compressed tar file
named "/pub/gnu/apollo-gcc-1.37.tar.Z".
The size of the file is 84145 bytes.

To build GCC for the Apollo you'll need the virgin FSF
distributions of bison-1.03, gas-1.34, and gcc-1.37. They
are also on labrea.stanford.edu as well as prep.ai.mit.edu.
My changes are to enable gas to produce Apollo COFF object
files and allow gcc to parse some of the syntax extensions
which appear in Apollo C header files. Note that the
COFF encapsulation technique cannot be used on the Apollo.

The tar file should be unpacked in the directory containing
the gas-1.34 and gcc-1.37 directories; a few files will be overlaid,
and an APOLLO-GCC-README file will appear in the top directory.
This file contains detailed instructions on how to proceed.

These changes will only work for SR10.1 or later systems, using
the 6.6 or later version of the Apollo C compiler.

If you do not have ftp access, I can mail you the changes in the
form of diffs; they are approximately 40K in length. If you request
them, be sure to give me a voice phone number so I can contact you
in case I can't send you mail; I've had several requests in the
past from people I can't contact.

By the way, I'm working on getting the GNU C++ compiler running;
there are a couple problems to solve. I hope to be able to announce
the Apollo version shortly after the 1.37 version is released.

John Vasta                Hewlett-Packard Apollo Systems Division
vasta@apollo.hp.com       M.S. CHA-01-LT
(508) 256-6600 x6362      300 Apollo Drive, Chelmsford, MA 01824
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta

abair@turbinia.oakhill.uucp (Alan Bair) (02/22/90)

Any chance of getting gcc for the PRISM architecture?  Is anyone even looking
at this?

Thanks for the info about the 68K version.  Looking forward to the g++ one.
--
Alan Bair
SPS CAD                   Logic Simulation & Test
Motorola, Inc.            Austin, Texas
...!cs.utexas.edu!oakhill!turbinia!abair

lnz@LUCID.COM (Leonard N. Zubkoff) (02/22/90)

Until gcc includes an instruction scheduling phase, there is little likelihood
that it can generate code anywhere near as good as the Apollo C compiler for
the PRISM.  Even with an instruction scheduler, it's quite likely the Apollo
compiler would produce better code than gcc.  With John Vasta's modifications
to the 68K version, it would only be the architecture-dependent portion of
gcc that would need to be ported, so someone could do this based on the
documentation in the PRISM Architecture and Assembler manuals.

		Leonard

inst182@tuvie (Inst.f.Techn.Informatik) (02/23/90)

In article <48c776b3.20b6d@apollo.HP.COM> vasta@apollo.HP.COM (John Vasta) writes:
>The changes required to get the GNU C compiler running on
>Apollo 68K platforms are available via anonymous ftp from
>labrea.stanford.edu in the form of a compressed tar file
>named "/pub/gnu/apollo-gcc-1.37.tar.Z".
>The size of the file is 84145 bytes.
> [...]
>John Vasta                Hewlett-Packard Apollo Systems Division
>vasta@apollo.hp.com       M.S. CHA-01-LT
>(508) 256-6600 x6362      300 Apollo Drive, Chelmsford, MA 01824
>UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta

I got the tar file from stanford and it compiled ok. Bootstrapping
however did not work:

[michael:95] make
gcc -O -fstrength-reduce -I. -I. -I./config 
-DSTANDARD_STARTFILE_PREFIX=\"/usr/local/lib/\" 
-DSTANDARD_EXEC_PREFIX=\"/usr/local/lib/gcc-\" -c  `echo ./gcc.c | sed
's,^\./,,'`
In file included from gcc.c:131:
/usr/include/stdio.h:30: parse error before `#'
/usr/include/stdio.h:32: parse error before `#'
gcc.c: In function main:
gcc.c:1471: warning: argument passing between incompatible pointer types
gcc.c:1473: warning: argument passing between incompatible pointer types
gcc.c:1475: warning: argument passing between incompatible pointer types
*** Exit 1

Stop.

and in /usr/include/stdio.h is:

extern  struct  _iobuf {
        unsigned char   *_ptr #attribute[aligned(1)];	/* line 30 */
        short   _cnt;
        unsigned char   *_base #attribute[aligned(1)];
        short   _flag;
        short   _file;
} _iob[];

Is it save to just copy stdio.h to /usr/local/lib/gcc-include/stdio.h 
and remove the offending `#attribute's???

			Thanx in advance,
					mike

       ____  ____
      /   / / / /   Michael K. Gschwind             mike@vlsivie.at
     /   / / / /    Institute for VLSI-Design       mike@vlsivie.uucp
     ---/           Technical University, Vienna    e182202@awituw01.bitnet
       /            Voice: (++43).1.58801 8151
   ___/             Fax:   (++43).1.569697

vasta@apollo.HP.COM (John Vasta) (02/24/90)

In article <ABAIR.90Feb21235645@turbinia.oakhill.uucp> abair@turbinia.oakhill.uucp (Alan Bair) writes:
>Any chance of getting gcc for the PRISM architecture?  Is anyone even looking
>at this?

There once was a time when I half-considered doing this, but those days are
gone ... I doubt that anyone here is doing this. Coming up with a whole new
machine spec for GCC would be fun but it would take a lot of time.
John Vasta                Hewlett-Packard Apollo Systems Division
vasta@apollo.hp.com       M.S. CHA-01-LT
(508) 256-6600 x6362      300 Apollo Drive, Chelmsford, MA 01824
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta