This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch to make trunk compile on m68k-next-nextstep3 with 3 = 3.2
- To: "Melissa O'Neill" <oneill at cs dot sfu dot ca>
- Subject: Re: Patch to make trunk compile on m68k-next-nextstep3 with 3 = 3.2
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Sun, 27 Sep 98 14:00:36 +0200
- Cc: Jeffrey A Law <law at cygnus dot com>, EGCS-Patches <egcs-patches at cygnus dot com>
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <199809270700.AAA08843@aldrington.ppp.cs.sfu.ca>
I wrote:
>> Egcs (and gcc) throw all NEXTSTEP 3.x versions together. This is
>> probably caused by the fact that NEXTSTEP doesn't have `uname'.
>> Unfortunately, there are large differences between the *development*
>> version of NEXTSTEP 3.2 (which I have) and that of NEXTSTEP 3.3
>> (and a price differential - in 1994 - of Dfl 1,500, approximately
>> $900).
and you replied:
> Well, it's definitely possible to to use the `hostinfo'
> command to find out which OS version you're running.
> Something like this would probably work:
>
> hostinfo | grep 'NeXT Mach' | sed -e 's,.*Mach ,,'
> -e 's,:.*,,'
>
> (this yields '3.3' on my machine)
And also on mine ;-) Really, the system that I have is a strange
hybrid, but possibly quite widespread because of NeXT's pricing
strategy: The kernel and User Programs are 3.3, but the Development
Programs (cc, as, ld, gdb, etc) are 3.2:
% cc -v
Reading specs from /lib/m68k/specs
NeXT Computer, Inc. version cc-216.obj~13, gcc version 2.2.2
% as -v
NeXT Computer, Inc. version cctools-28.obj~39, GNU assembler version 1.38
% gdb
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for
details.
GDB 4.7 (NeXT 3.1), Copyright 1992 Free Software Foundation, Inc.
% strings /bin/ld | head -1
@(#)PROGRAM:ld PROJECT:cctools-28.obj~39 DEVELOPER:mflynn
BUILT:Wed Sep 1 17:36:48 PDT 1993
> It would certainly help to know exactly how the build
> failed with this code though, so I can fix it. As it is,
> you've just backed out the changes, so this means that
> exceptions in C++ are once again broken in your
> installation.
It failed because the above mentioned `as' can't handle `.section';
from my September 20 message on the egcs list:
QUOTE
In the mean time (snapshot CVS'd at 199809201100UTC) I ran into a
new problem:
_eh
../../egcs/gcc/libgcc2.c: In function `in_reg_window':
../../egcs/gcc/libgcc2.c:3527: warning: unused parameter `reg'
../../egcs/gcc/libgcc2.c:3527: warning: unused parameter `udata'
/usr/tmp/ccbbsZ0U.s:987:Unknown pseudo-op: .section
/usr/tmp/ccbbsZ0U.s:987:Rest of line ignored. 1st junk character
valued 95 (_).
UNQUOTE
Note that I, personally, do not particularly pine for loosing C++
capabilities; however, some other users of this 3.2/3.3 hybrid
might.
> P.S. Sometimes you can find someone who has installed
> Openstep 4.2 and has a copy of 3.3 they'll sell you for
> next to nothing. Similarly, you can pick up an old machine
> with 3.3 installed for next to nothing too.
Thanks for pointing this out, but I'm not hanging onto NEXTSTEP out
of desperation, but simply because I'm waiting for quad-21264's
running Linux to become affordable :-)
And:
>> It would be interesting to think up a method to have autoconf
>> discern between NEXTSTEP 3.2 and 3.3; perhaps by reading `as -v'
>> output ?
> This is one of the least reliable indicators. NEXTSTEP's
> assembler is based on GAS (although NeXT's changes don't
> appear to have been folded into the mainline GAS sources).
You bet - the mainline binutils doesn't know a thing about the
Mach-O format - if it did I would have upgraded years ago ...
> So, because /lib/m68k/as (or whatever) is free software,
> someone with 3.2 can legally copy the 3.3 version off
> the CD-ROM, or compile it themselves using the
> GNUSource.pkg NeXT provides.
[ Hmm, that's an option I hadn't thought of yet - wonder how
that interferes with the rest of the system, i.e. `ld' which
is not free. ]
The reason I was thinking about `as -v' output is that it is `as'
that's failing on your construct, so somehow its version number is
important.
Regards,
--
Toon Moene (mailto:toon@moene.indiv.nluug.nl)
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Phone: +31 346 214290; Fax: +31 346 214286
g77 Support: mailto:fortran@gnu.org; egcs:
mailto:egcs-bugs@cygnus.com