[comp.sys.apollo] Building AT&T C++ 2.1 on Apollos.

pmc@engin.umich.edu (Paul S McClay ) (06/28/91)

Has anyone built AT&T C++ 2.1 on an Apollo?

Can you offer any advice on the following breakage? 

Most of my observations are from working on HP/Apollo 400t's running
SR10.3.x with SYSTYPE=bsd4.3

I don't know C++, so the package is something of a black box to me,
I'm just following the instructions and trying to fix what breaks along
the way.

I made the "scratch" ..c files on a SparcStation with a pre-existing
translator. With some pre-build tweaking, the bootstrap cfront,
libC.a, etc.  builds fine on an Apollo. The resulting cfront appears
braindamaged.

When trying to compile munch.c, the next step in the build process, it
exits with no output. I've determined, with fair confidance, that
ext__Fi() in error..c, which I suppose corresponds to ext() in
error.c, is getting called with the argument 0. However, every call to
ext__Fi()/ext() I can find is made with a non-zero constant argument.

Odd.

I'm not (yet) very facile with Apollo debugging tools. In a effort to
find out what is calling ext(), I replaced the exit() call in ext()
with an abort() to get a "proc_dump". tb reports:

syndicoot% tb
Process        11101 (parent 11009, group 11101)
Time           91/06/26.21:10(EDT)
Program        UID 5268DCA1.F000FFAA
Status         00040004: reference to illegal address (OS/MST manager)
In routine     "<UID 5268DCA1.F000FFAA>" offset 2ABE6
Called from    "<UID 5268DCA1.F000FFAA>" offset 28714
Called from    "<UID 5268DCA1.F000FFAA>" offset 2BFC8
Called from    "unix_$main" line 114
Called from    "<UID 5268DCA1.F000FFAA>" offset 2BA
Called from    "PM_$CALL" line 176
Called from    "pgm_$load_run" line 903
Called from    "pgm_$invoke_uid_pn" line 1124

which is disappointing because I expected to see some function names
in there. Guess I'd better read up on these DomainOS things. Anyhow...
my bet is that this stopped in kill(), which was called by abort().
That accounts for two of those <UID ...> lines. From previous
observations, I suspect that unix_$main() called main(), and that
accounts for the third. I'm pretty sure the fourth is not in my
executable. This would imply that main() called abort().  At this
point I'm pretty confused.

Any light you might shed on this matter will be greatly appreciated.

  -Paul
--
-- -  -    -        -                -                -        -    -  - --
Paul McClay                            "Where are we going?"   "Planet 10!"
pmc@engin.umich.edu                    "When?"                 "Real soon!"
CompE & Physics @ U of MI            -                -        -    -  - --
home: (313) 761-9272                    CAEN Systems Minion: (313) 763-3072