Subject: a cross compiler environment available
To: None <macbsd-general@sun-lamp.cs.berkeley.edu>
From: chas williams <chas@ohm.nrl.navy.mil>
List: macbsd-general
Date: 03/26/1994 10:57:39
Well, due to the recent posts about working/semi-working cross compilers,
I would like to announce the availability of the one that I am currently
using. 

Hopefully, this will start some more support/discussions for people trying to
build/use cross compiler environments.  Please let me know about your work on a
cross compiler, or what you think of the one I am currently using. (i.e.
what I might be doing wrong, or what else I might need to make a full 
environment)  I am especially interested in other netbsd tools (like 
make, config.new) that have been ported out of netbsd to other non-
bsd systems.

I would like to say that I only have 2 weeks (off and on) invested in
this project, so its not a commercial product, but its interesting.

Anyway... the files are available via anonymous ftp from ra.nrl.navy.mil
in pub/netbsd_mac68k.  Here is the README:

Announcing a cross compiler environment for NetMSD/Mac68k

I have only tried this on a Sparcstation running Solaris2, however just about
any big-endian, 32 bit workstation (and a little effort) should work.

While this environment has not been tested rigorously, I think it is
somewhat useful since it is MUCH faster than my Mac IIcx.  I have been
able to build/run executables, shared and static using the old (alpha2)
libraries.  I have been able to build/run executables, using the
libraries from the NetBSD-current distribution.  (The libraries based
on NetBSD-current, were actually built by the cross-compiler--amazingly
enough). I currently seem unable to build a runnable kernel; I was
hoping to get this going but it seems to be out of my league (possibly
I bungled config.new, I need to check this)

o Tools
  - Compiler: vanilla gcc-2.4.5 with the NetBSD machine dependent files
  - Assembler: gas-2.2 with a few minor tweaks--it is likely not entirely
    corrent.  The NetBSD port of gas to Solaris2 box, is in old.tar.  I
    noticed that NetBSD gas passes on some of testsuite files from gas-2.2
    that is 'should' fail on. 
  - Tools (ar,nm,ranlib,...): A port of binutils-2.3--bascially, support for
    NetBSD/m68k was added to bfd.  Ar, nm, ranlib all seem to work ok.  Ld
    really is hopeless at the moment since it doesn't support shared libraries,
    and my understanding of NetBSD's shared libraries is limited.
  - Linker: NetBSD ld.  This is the weakest part of the whole environment.
    Although a lot of the original multi-environment stuff still seems to be
    around, making it not that bad.  I mangled the code when it comes to
    getting the right include files...
  - Other stuff: make, config.new, lorder are basically hacked to run on
    a Solaris2/SYSV box.  You will likely need to tweak these to make them
    run on your system.

o To Do
  - Make ld easier to build on various systems (either add NetBSD shared
    library support to binutils, or mangle the NetBSD ld code)
  - Check gas 2.2 (basically, a.out format is probably slightly wrong)
    Possibly it should use bfd or the obj-aout.* from NetBSD could be ported
  - Build a runnable kernel!
  - Build a decent version of NetBSD make and its associated *.mk files
               

o Availability
  - Anonymous ftp to ra.nrl.navy.mil, in the directory /pub/netbsd_mac68k


--chas iii
chas@ohm.nrl.navy.mil

------------------------------------------------------------------------------