eichin@ATHENA.MIT.EDU (Mark W. Eichin) (04/08/89)
gcc and g++ 1.34.0 built and compiled fine under Sun3/Os3.5, including most of the patches sent out to the list (although I haven't yet "refreshed" the sources to 1.34.2.) I just got a Sun4 running OS4.0.1, and built GCC without a hitch, stages compared fine, g++ built cleanly (also config'd sun4-os4). I went and tried to build libg++ (also clean) and the test files (the first actual executable files to be built with the G++ compiler) and got "crt0+.o contains non external relocatable ..." (or something like that; I don't have the machine here, and I didn't write it down...) Has anybody seen this before? It seems that people on the net are running this combination, so it is probably some pilot error on my part. Send me email, I'll summarize to the net if I get interesting answers. (I didn't see this mentioned in g++.texinfo, though if I get indications that other people are having this problem, I'll suggest it go under "common Errors" :-) Congratulations, though, on having what looks like the *only* C++ compiler for the Sun 4... Mark Eichin <eichin@athena.mit.edu>
tiemann@YAHI.STANFORD.EDU (Michael Tiemann) (04/08/89)
I used to get > "crt0+.o contains non external relocatable ..." (or something like > that; I don't have the machine here, and I didn't write it down...) when I tried linking crt0+.o which was compiled with a 68020 or a VAX compiler. Run `file' on that file, and see if it tells you its really a sparc object file. Use the -v option to see where it is really finding the crt0+.o file. Michael
eichin@ATHENA.MIT.EDU (Mark W. Eichin) (04/11/89)
I was getting > "crt0+.o contains non external relocatable ..." (or something like > that; I don't have the machine here, and I didn't write it down...) when trying to link the libg++ tests, with G++ 1.34.0+ configged for sun4-os4. Michael Tiemann recognized these symptoms as: >when I tried linking crt0+.o which was compiled with a 68020 or a VAX >compiler. Run `file' on that file, and see if it tells you its really >a sparc object This diagnosis was close enough to point me in the right direction: "config" is not enough! there are lines in the makefile (which perhaps should be ifdefs in ld.c?) with -DTARGET=SUN3 and -DSUN=3 which need to be hand tweaked (well, comment out the Sun3 line, uncomment the Sun4 line) when moving form Sun3 sources to Sun4 sources. I had forgotten to do this when doing the config... So, it works, C++ for the Sun4 is a reality, though the configuration could be automated a little more (though frankly I'd rather see Multiple Inheritence :-) so maybe a reminder of this line (ok, if I missed it put it in boldface :-) should be in g++.texinfo. Thanks, Mark Eichin <eichin@athena.mit.edu>
rfg@MCC.COM (Ron Guilmette) (04/12/89)
Dear Mark, In a recent posting to bug-g++ you wrote: >So, it works, C++ for the Sun4 is a reality, though the configuration >could be automated a little more... Look at the Makefile for G++ 1.34.2. Michael T. has added some stuff which I suggested which does in fact make the selection of proper options for the compilation of ld.c and crt0.c entirely automatic. Hopefully, this constitutes a local (minor) reversal of entropy. // Ron Guilmette - MCC - Experimental Systems Kit Project // 3500 West Balcones Center Drive, Austin, TX 78759 - (512)338-3740 // ARPA: rfg@mcc.com // UUCP: {rutgers,uunet,gatech,ames,pyramid}!cs.utexas.edu!pp!rfg