On Tue, 3 Sep 2002, Bakul Shah wrote: > > > > Where exactly does GCC fit into the mix, making this impossible? > > > > > > They compile Lisp (etc) to a C file, which they compile (with gcc) to > > ^^^ > > actually with as(1), because gcc is only generates assembler file, > > which is then translated into the object file by assembler (as). > > Assembler by itself is part of binutils, not a compiler suite.
Actually, it is part of old binutils, which is in FreeBSD's src tree but hasn't been built by default for many years. Therefore it doesn't even compile (except in my version of course): %%% Script started on Wed Sep 4 14:26:54 2002 ttyp0:bde@besplex:/tmp> cvs -Q co as ttyp0:bde@besplex:/tmp> cd as ttyp0:bde@besplex:/tmp/as> make Warning: Object directory not changed from original /tmp/as updating targ-cpu.h... updating obj-format.h... updating host.h... updating targ-env.h... cc -O -pipe -DNON_BROKEN_WORDS -DPIC -I/tmp/as -I/tmp/as -I/tmp/as/config -DOLD_GAS -DSIGTY=void -Derror=as_fatal -DSUB_SEGMENT_ALIGN=4 -DFREEBSD_AOUT -c /tmp/as/config/tc-i386.c In file included from /tmp/as/as.h:78, from /tmp/as/config/tc-i386.c:31: /usr/include/stdio.h:324: syntax error before '(' token *** Error code 1 Stop in /tmp/as. ttyp0:bde@besplex:/tmp/as> exit Script done on Wed Sep 4 14:27:04 2002 %%% This is because misimplemented compatibility cruft setbuffer() was finally bitten by reality. > I suspect Richard Tobin was using the generally accepted > meaning for a "compiler" as one that translates a source > program into object code (machine language). In any case, it > is cc1 that generates an assembly file. gcc is just a driver > program that calls various subprograms. I suspect that he is also using old binaries for as and ld. It would be safer to use an old compiler driver with them too. > Richard's main point with which I totally agree is that > please do not take away the ability to generate and grok > a.out files *if at all possible*. A number of Lisp systems > as well as Scheme one use ld -A & friends to do what he > described. In general, please do not break backward > compatibility. But must we support building new versions of the a.out utilities and keep all the infrastructure (man pages and objformat...) up to date? We haven't been doing that properly since 3.0R. Some of te infrastructure is still built by default, but parts must be built manually (as, ld, gdb ...) or old versions must be copied from somewhere. gdb is most problematic (if you need it) since old gdb's don't work out with current kernels. You have to check out gdb-mumble from FreeBSD-mumble and recompile. Bruce To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message