Subject: FYI: release of snow toolchain builder 1.4

From: Jay Carlson <[email-masked]>
Date: Thu, 18 Apr 2002 09:05:39 -0400

I finally got around to writing a built-from-bare-sources toolchain for 
snow.  snow's an alternate ABI for small MIPS systems which uses 
statically linked dynamically loaded shared libraries in -fno-pic 
-mno-abicalls mode.  It has massive performance advantages on the Agenda 
VR3's Vr4181.

New in this release is jumptable support; when used properly, it should 
allow careful library maintainers to provide forward binary 
compatibility against shared libraries.

Snow could be the basis for MIPS16 work, since -fpic MIPS16 looks 
difficult.  However, the compiler I currently use, Debian gcc 2.95.4, is 
completely broken for -mips16.  (I'd say "can't compile dhrystone" is a 
good metric.  :-)  If anybody sends me a known-good MIPS16 platform, I'd 
be delighted to make snow work on it.  (At this point, getting MIPS16 
working under Linux is a matter of personal honor to me.)

For background information on snow, see 
http://www.desertscenes.net/agenda/snow/ , although it's slightly out of 
date.  The vrp stuff mentioned below is documented at 
http://www.desertscenes.net/index.cgi/Agenda_20Romdisk_20Building_20Instructions 
but is unlikely to be useful for other platforms as-is.

Here's the announcement I made on the agenda-snow mailing list:

snow-build-1.4 is available at http://place.org/~nop/snow-
build-1.4.tar.gz .  It builds a complete snow toolchain from sources, 
using the new jumptable snow implementation, which may allow for 
forwards binary compatibility of libraries.  Also, it can build XFree86 
4.2.0 for the Agenda from sources, including shared library-linked 
executables of many xc apps.

Note that it is not compatible with the Agenda 1.2.0 toolchain, and it 
is likely that there will be a period of thrashing out library export 
lists that will break apps linked with it; however, this should improve 
future compatibility.

Included in this release is an experimental interface to Brian Webb's 
snow distribution and build tools.  It will build a working (if somewhat 
minimal) romdisk.  Some changes to other source packages will be 
required; Debian gcc-2.95.4 has a different set of quirks from the gcc 
snapshot used previously, and ideally applications should switch from 
CC='mipsel-linux-gcc -B/opt/snow-gcc/lib/snow/' to 
CC='mipsel-linux-snow-gcc' to get rid of fixed paths in the build 
process.  (Of course VRP sources that use ${VRP_COMPILER_CC} get this 
for free.)

Documentation remains minimal, but hopefully not much is required to at 
least watch the pretty build scroll by.

Necessary sources are again mirrored at http://vhl-
tools.sf.net/snow-src/ .

Gloating summary: after downloading the required source tarballs, you 
edit a config file to tell it where to build.  Then, you type "make" in 
builder/ and "make" in vrp-build/, and around 45 minutes later out pops 
a romdisk!

Let me know if it doesn't build on your box.  The only two odd tools 
you'll need are for the vrp-build section.  ash wants byacc.  I want 
fakeroot, http://packages.debian.org/testing/utils/fakeroot.html , 
because I don't believe in building software as root.  If you're daring, 
you can run the vrp-build section as root and nuke the calls to fakeroot.

Jay

---

From: Johannes Stezenbach <[email-masked]>
Date: Fri, 19 Apr 2002 17:07:16 +0200

> working under Linux is a matter of personal honor to me.)

I've just asked on the gcc mailing list, and someone at
Redhat is currently working on mips16 support on the
CVS trunk, i.e. it won't be in gcc-3.1. If it receives
sufficient testing, gcc-3.2 might work for mips16 stuff.
GNU-Pro from Redhat and the Algorithmics toolchain should
work, too.

Regards,
Johannes

---

From: Hartvig Ekner <[email-masked]>
Date: Fri, 19 Apr 2002 18:13:51 +0200 (CEST)

We're doing a test-project with Algorithmics, implementing MIPS16 and
MIPS16e PIC support in SDE. I'll post results on the list when we have some.

/Hartvig

-- 
 _    _   _____  ____     Hartvig Ekner        Mailto:[email-masked]
 |\  /| | |____)(____                          Direct: +45 4486 5503
 | \/ | | |     _____)    MIPS Denmark         Switch: +45 4486 5555
T E C H N O L O G I E S   http://www.mips.com  Fax...: +45 4486 5556