9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Axel Belinfante <Axel.Belinfante@cs.utwente.nl>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: [9fans] Drawterm Solaris 8.5 (long)
Date: Fri, 28 Apr 2006 23:02:56 +0200	[thread overview]
Message-ID: <200604282102.k3SL2ua07544@zamenhof.cs.utwente.nl> (raw)
In-Reply-To: Your message of "Fri, 28 Apr 2006 19:46:37 +0900." <56a297000604280346i4d269bc5ld20fdc36685014bf@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1584 bytes --]

> yeah, blah... the version I had on my old sun has got the blues too.
>
> hmmmm... compile the latest version with CONF=unix make
> gives the following errors:
>
> gcc: unrecognized option `-pthread'
> In file included from ./include/u.h:1,
>                  from main.c:1:
> ./include/dtos.h:10:3: #error "Define an OS"
> In file included from main.c:2:
[...]

I've just checked out the latest drawterm from cvs,
and out-od-the-box I see the same errors.

I have gotten it to compile (and so far it seems to run) on
SunOS zamenhof 5.8 Generic_117350-22 sun4u sparc SUNW,Sun-Blade-100

I have compiled using sun cc: Sun WorkShop 6 2000/04/07 C 5.1
and gnu make (3.79)
I compiled (from es) using:  make 'CONF=unix' 'AUDIO=none'

I made a few changes to make it compile,
and added a new directory posix-sun4u
populated with stuff elsewhere from drawterm or maybe p9p
(I populated it in nov 2005; did not look back where I got stuff)

I did not make changes to shut up compiler warnings;
I've attached a 'typescript' showing them in case someone
wants to look at them.

I also attach a diff and, one by one, the files from posix-sun4u :

posix-sun4u/Makefile
posix-sun4u/getcallerpc.c
posix-sun4u/md5block.c
posix-sun4u/os.h
posix-sun4u/sha1block.c
posix-sun4u/tas.s

I did not look at the audio stuff; I guess it should be possible
to add something sun specific.
In the past I used the trick described in
 http://plan9.cs.utwente.nl/audio-sun-drawterm/
(the code linked from there is awful but got the job done)

Hope this helps,
Axel.

[-- Attachment #2: sun.diff --]
[-- Type: text/plain , Size: 4525 bytes --]

Index: Make.unix
===================================================================
RCS file: /cvs/drawterm/Make.unix,v
retrieving revision 1.11
diff -b -u -w -r1.11 Make.unix
--- Make.unix	8 Mar 2006 04:24:23 -0000	1.11
+++ Make.unix	28 Apr 2006 20:26:22 -0000
@@ -6,12 +6,15 @@
 RANLIB=ranlib
 X11=/usr/X11R6
 CC=gcc
+CC=cc -xCC
 CFLAGS=-Wall -Wno-missing-braces -ggdb -I$(ROOT) -I$(ROOT)/include -I$(ROOT)/kern -c -I$(X11)/include -D_THREAD_SAFE $(PTHREAD) -O2
+CFLAGS=-I$(ROOT) -I$(ROOT)/include -I$(ROOT)/kern  -c -g -D_THREAD_SAFE
 O=o
 OS=posix
 GUI=x11
 LDADD=-L$(X11)/lib -lX11 -ggdb
-LDFLAGS=$(PTHREAD)
+LDADD=-L/usr/X11R6/lib -lX11 -lrt -lpthread -lsocket -lnsl
+# LDFLAGS=$(PTHREAD)
 TARG=drawterm
 # AUDIO=none
 AUDIO=unix
Index: README
===================================================================
RCS file: /cvs/drawterm/README,v
retrieving revision 1.6
diff -b -u -w -r1.6 README
--- README	17 Jan 2006 12:47:53 -0000	1.6
+++ README	28 Apr 2006 20:26:22 -0000
@@ -2,6 +2,11 @@
 --------------
 To build on Unix, run CONF=unix make.

+On solaris 8.5,
+using sun cc: Sun WorkShop 6 2000/04/07 C 5.1
+and gnu make 3.79.1, run    make 'CONF=unix' 'AUDIO=none'
+
+
 To build on Windows, you need Mingw.  See http://www.mingw.org.
 Edit Make.config to uncomment the Windows section
 and comment out the rest.  Then run CONF=windows make.
Index: include/auth.h
===================================================================
RCS file: /cvs/drawterm/include/auth.h,v
retrieving revision 1.2
diff -b -u -w -r1.2 auth.h
--- include/auth.h	7 Nov 2005 17:13:38 -0000	1.2
+++ include/auth.h	28 Apr 2006 20:26:23 -0000
@@ -17,7 +17,9 @@
 enum
 {
 	MAXCHLEN=	256,		/* max challenge length	*/
+#ifndef MAXNAMELEN
 	MAXNAMELEN=	256,		/* maximum name length */
+#endif
 	MD5LEN=		16,

 	ARok = 0,			/* rpc return values */
Index: include/dtos.h
===================================================================
RCS file: /cvs/drawterm/include/dtos.h,v
retrieving revision 1.5
diff -b -u -w -r1.5 dtos.h
--- include/dtos.h	29 Dec 2005 23:41:14 -0000	1.5
+++ include/dtos.h	28 Apr 2006 20:26:23 -0000
@@ -1,4 +1,4 @@
-#if defined(linux) || defined(IRIX) || defined(SOLARIS) || defined(OSF1) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__NetBSD__)
+#if defined(linux) || defined(IRIX) || defined(__sun) || defined(OSF1) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__NetBSD__)
 #	include "unix.h"
 #	ifdef __APPLE__
 #		define panic dt_panic
Index: kern/devaudio.c
===================================================================
RCS file: /cvs/drawterm/kern/devaudio.c,v
retrieving revision 1.1
diff -b -u -w -r1.1 devaudio.c
--- kern/devaudio.c	8 Mar 2006 04:24:23 -0000	1.1
+++ kern/devaudio.c	28 Apr 2006 20:26:23 -0000
@@ -45,17 +45,17 @@
 	int	irval;
 } volumes[] =
 {
-[Vaudio]		"audio",	Fout, 		50,	50,
-[Vsynth]		"synth",	Fin|Fout,	0,	0,
-[Vcd]		"cd",		Fin|Fout,	0,	0,
-[Vline]		"line",	Fin|Fout,	0,	0,
-[Vmic]		"mic",	Fin|Fout|Fmono,	0,	0,
-[Vspeaker]	"speaker",	Fout|Fmono,	0,	0,
+/*[Vaudio]*/		"audio",	Fout, 		50,	50,
+/*[Vsynth]*/		"synth",	Fin|Fout,	0,	0,
+/*[Vcd]*/		"cd",		Fin|Fout,	0,	0,
+/*[Vline]*/		"line",	Fin|Fout,	0,	0,
+/*[Vmic]*/		"mic",	Fin|Fout|Fmono,	0,	0,
+/*[Vspeaker]*/	"speaker",	Fout|Fmono,	0,	0,

-[Vtreb]		"treb",		Fout, 		50,	50,
-[Vbass]		"bass",		Fout, 		50,	50,
+/*[Vtreb]*/		"treb",		Fout, 		50,	50,
+/*[Vbass]*/		"bass",		Fout, 		50,	50,

-[Vspeed]	"speed",	Fin|Fout|Fmono,	Speed,	Speed,
+/*[Vspeed]*/	"speed",	Fin|Fout|Fmono,	Speed,	Speed,
 		0
 };

Index: kern/devtls.c
===================================================================
RCS file: /cvs/drawterm/kern/devtls.c,v
retrieving revision 1.1
diff -b -u -w -r1.1 devtls.c
--- kern/devtls.c	4 Apr 2006 11:38:40 -0000	1.1
+++ kern/devtls.c	28 Apr 2006 20:26:23 -0000
@@ -241,14 +241,18 @@
 static void	pdump(int, void*, char*);

 static char *tlsnames[] = {
-[Qclonus]		"clone",
-[Qencalgs]	"encalgs",
-[Qhashalgs]	"hashalgs",
-[Qdata]		"data",
-[Qctl]		"ctl",
-[Qhand]		"hand",
-[Qstatus]		"status",
-[Qstats]		"stats",
+/*0*/	0,
+/*Qtopdir*/	0,
+/*Qprotodir*/	0,
+/*[Qclonus]*/		"clone",
+/*[Qencalgs]*/	"encalgs",
+/*[Qhashalgs]*/	"hashalgs",
+/*Qconvdir*/	0,
+/*[Qdata]*/		"data",
+/*[Qctl]*/		"ctl",
+/*[Qhand]*/		"hand",
+/*[Qstatus]*/		"status",
+/*[Qstats]*/		"stats",
 };

 static int convdir[] = { Qctl, Qdata, Qhand, Qstatus, Qstats };

[-- Attachment #3: Makefile --]
[-- Type: text/plain , Size: 316 bytes --]

ROOT=..
include ../Make.config
LIB=../libmachdep.a

OFILES=\
	getcallerpc.$O\
	md5block.$O\
	sha1block.$O\
	tas.$O

default: $(LIB)
$(LIB): $(OFILES)
	$(AR) r $(LIB) $(OFILES)
	$(RANLIB) $(LIB)

%.$O: %.c
	$(CC) $(CFLAGS) $*.c

%.$O: %.s
	$(AS) -o $*.$O $*.s

%.s: %.spp
	cpp $*.spp >$*.s



[-- Attachment #4: getcallerpc.c --]
[-- Type: text/plain , Size: 98 bytes --]

#include "u.h"
#include "libc.h"

ulong
getcallerpc(void *a)
{
	return ((ulong*)a)[-1];
}

[-- Attachment #5: md5block.c --]
[-- Type: text/plain , Size: 5219 bytes --]

#include "os.h"
#include <libsec.h>

/*
 *  rfc1321 requires that I include this.  The code is new.  The constants
 *  all come from the rfc (hence the copyright).  We trade a table for the
 *  macros in rfc.  The total size is a lot less. -- presotto
 *
 *	Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
 *	rights reserved.
 *
 *	License to copy and use this software is granted provided that it
 *	is identified as the "RSA Data Security, Inc. MD5 Message-Digest
 *	Algorithm" in all material mentioning or referencing this software
 *	or this function.
 *
 *	License is also granted to make and use derivative works provided
 *	that such works are identified as "derived from the RSA Data
 *	Security, Inc. MD5 Message-Digest Algorithm" in all material
 *	mentioning or referencing the derived work.
 *
 *	RSA Data Security, Inc. makes no representations concerning either
 *	the merchantability of this software or the suitability of this
 *	software forany particular purpose. It is provided "as is"
 *	without express or implied warranty of any kind.
 *	These notices must be retained in any copies of any part of this
 *	documentation and/or software.
 */

/*
 *	Rotate ammounts used in the algorithm
 */
enum
{
	S11=	7,
	S12=	12,
	S13=	17,
	S14=	22,

	S21=	5,
	S22=	9,
	S23=	14,
	S24=	20,

	S31=	4,
	S32=	11,
	S33=	16,
	S34=	23,

	S41=	6,
	S42=	10,
	S43=	15,
	S44=	21,
};

static u32int md5tab[] =
{
	/* round 1 */
/*[0]*/	0xd76aa478,
	0xe8c7b756,
	0x242070db,
	0xc1bdceee,
	0xf57c0faf,
	0x4787c62a,
	0xa8304613,
	0xfd469501,
	0x698098d8,
	0x8b44f7af,
	0xffff5bb1,
	0x895cd7be,
	0x6b901122,
	0xfd987193,
	0xa679438e,
	0x49b40821,

	/* round 2 */
/*[16]*/0xf61e2562,
	0xc040b340,
	0x265e5a51,
	0xe9b6c7aa,
	0xd62f105d,
	 0x2441453,
	0xd8a1e681,
	0xe7d3fbc8,
	0x21e1cde6,
	0xc33707d6,
	0xf4d50d87,
	0x455a14ed,
	0xa9e3e905,
	0xfcefa3f8,
	0x676f02d9,
	0x8d2a4c8a,

	/* round 3 */
/*[32]*/0xfffa3942,
	0x8771f681,
	0x6d9d6122,
	0xfde5380c,
	0xa4beea44,
	0x4bdecfa9,
	0xf6bb4b60,
	0xbebfbc70,
	0x289b7ec6,
	0xeaa127fa,
	0xd4ef3085,
	 0x4881d05,
	0xd9d4d039,
	0xe6db99e5,
	0x1fa27cf8,
	0xc4ac5665,

	/* round 4 */
/*[48]*/0xf4292244,
	0x432aff97,
	0xab9423a7,
	0xfc93a039,
	0x655b59c3,
	0x8f0ccc92,
	0xffeff47d,
	0x85845dd1,
	0x6fa87e4f,
	0xfe2ce6e0,
	0xa3014314,
	0x4e0811a1,
	0xf7537e82,
	0xbd3af235,
	0x2ad7d2bb,
	0xeb86d391,
};

static void decode(u32int*, uchar*, ulong);
extern void _md5block(uchar *p, ulong len, u32int *s);

void
_md5block(uchar *p, ulong len, u32int *s)
{
	u32int a, b, c, d, sh;
	u32int *t;
	uchar *end;
	u32int x[16];

	for(end = p+len; p < end; p += 64){
		a = s[0];
		b = s[1];
		c = s[2];
		d = s[3];

		decode(x, p, 64);

		t = md5tab;
		sh = 0;
		for(; sh != 16; t += 4){
			a += ((c ^ d) & b) ^ d;
			a += x[sh] + t[0];
			a = (a << S11) | (a >> (32 - S11));
			a += b;

			d += ((b ^ c) & a) ^ c;
			d += x[sh + 1] + t[1];
			d = (d << S12) | (d >> (32 - S12));
			d += a;

			c += ((a ^ b) & d) ^ b;
			c += x[sh + 2] + t[2];
			c = (c << S13) | (c >> (32 - S13));
			c += d;

			b += ((d ^ a) & c) ^ a;
			b += x[sh + 3] + t[3];
			b = (b << S14) | (b >> (32 - S14));
			b += c;

			sh += 4;
		}
		sh = 1;
		for(; sh != 1+20*4; t += 4){
			a += ((b ^ c) & d) ^ c;
			a += x[sh & 0xf] + t[0];
			a = (a << S21) | (a >> (32 - S21));
			a += b;

			d += ((a ^ b) & c) ^ b;
			d += x[(sh + 5) & 0xf] + t[1];
			d = (d << S22) | (d >> (32 - S22));
			d += a;

			c += ((d ^ a) & b) ^ a;
			c += x[(sh + 10) & 0xf] + t[2];
			c = (c << S23) | (c >> (32 - S23));
			c += d;

			b += ((c ^ d) & a) ^ d;
			b += x[(sh + 15) & 0xf] + t[3];
			b = (b << S24) | (b >> (32 - S24));
			b += c;

			sh += 20;
		}
		sh = 5;
		for(; sh != 5+12*4; t += 4){
			a += b ^ c ^ d;
			a += x[sh & 0xf] + t[0];
			a = (a << S31) | (a >> (32 - S31));
			a += b;

			d += a ^ b ^ c;
			d += x[(sh + 3) & 0xf] + t[1];
			d = (d << S32) | (d >> (32 - S32));
			d += a;

			c += d ^ a ^ b;
			c += x[(sh + 6) & 0xf] + t[2];
			c = (c << S33) | (c >> (32 - S33));
			c += d;

			b += c ^ d ^ a;
			b += x[(sh + 9) & 0xf] + t[3];
			b = (b << S34) | (b >> (32 - S34));
			b += c;

			sh += 12;
		}
		sh = 0;
		for(; sh != 28*4; t += 4){
			a += c ^ (b | ~d);
			a += x[sh & 0xf] + t[0];
			a = (a << S41) | (a >> (32 - S41));
			a += b;

			d += b ^ (a | ~c);
			d += x[(sh + 7) & 0xf] + t[1];
			d = (d << S42) | (d >> (32 - S42));
			d += a;

			c += a ^ (d | ~b);
			c += x[(sh + 14) & 0xf] + t[2];
			c = (c << S43) | (c >> (32 - S43));
			c += d;

			b += d ^ (c | ~a);
			b += x[(sh + 21) & 0xf] + t[3];
			b = (b << S44) | (b >> (32 - S44));
			b += c;

			sh += 28;
		}

		s[0] += a;
		s[1] += b;
		s[2] += c;
		s[3] += d;
	}
}

/*
 *	decodes input (uchar) into output (u32int). Assumes len is
 *	a multiple of 4.
 */
static void
decode(u32int *output, uchar *input, ulong len)
{
	uchar *e;

	for(e = input+len; input < e; input += 4)
		*output++ = input[0] | (input[1] << 8) |
			(input[2] << 16) | (input[3] << 24);
}

[-- Attachment #6: os.h --]
[-- Type: text/plain , Size: 35 bytes --]

#include <u.h>
#include <libc.h>

[-- Attachment #7: sha1block.c --]
[-- Type: text/plain , Size: 4857 bytes --]

#include "os.h"

void
_sha1block(uchar *p, ulong len, u32int *s)
{
	u32int a, b, c, d, e, x;
	uchar *end;
	u32int *wp, *wend;
	u32int w[80];

	/* at this point, we have a multiple of 64 bytes */
	for(end = p+len; p < end;){
		a = s[0];
		b = s[1];
		c = s[2];
		d = s[3];
		e = s[4];

		wend = w + 15;
		for(wp = w; wp < wend; wp += 5){
			wp[0] = (p[0]<<24) | (p[1]<<16) | (p[2]<<8) | p[3];
			e += ((a<<5) | (a>>27)) + wp[0];
			e += 0x5a827999 + (((c^d)&b)^d);
			b = (b<<30)|(b>>2);

			wp[1] = (p[4]<<24) | (p[5]<<16) | (p[6]<<8) | p[7];
			d += ((e<<5) | (e>>27)) + wp[1];
			d += 0x5a827999 + (((b^c)&a)^c);
			a = (a<<30)|(a>>2);

			wp[2] = (p[8]<<24) | (p[9]<<16) | (p[10]<<8) | p[11];
			c += ((d<<5) | (d>>27)) + wp[2];
			c += 0x5a827999 + (((a^b)&e)^b);
			e = (e<<30)|(e>>2);

			wp[3] = (p[12]<<24) | (p[13]<<16) | (p[14]<<8) | p[15];
			b += ((c<<5) | (c>>27)) + wp[3];
			b += 0x5a827999 + (((e^a)&d)^a);
			d = (d<<30)|(d>>2);

			wp[4] = (p[16]<<24) | (p[17]<<16) | (p[18]<<8) | p[19];
			a += ((b<<5) | (b>>27)) + wp[4];
			a += 0x5a827999 + (((d^e)&c)^e);
			c = (c<<30)|(c>>2);

			p += 20;
		}

		wp[0] = (p[0]<<24) | (p[1]<<16) | (p[2]<<8) | p[3];
		e += ((a<<5) | (a>>27)) + wp[0];
		e += 0x5a827999 + (((c^d)&b)^d);
		b = (b<<30)|(b>>2);

		x = wp[-2] ^ wp[-7] ^ wp[-13] ^ wp[-15];
		wp[1] = (x<<1) | (x>>31);
		d += ((e<<5) | (e>>27)) + wp[1];
		d += 0x5a827999 + (((b^c)&a)^c);
		a = (a<<30)|(a>>2);

		x = wp[-1] ^ wp[-6] ^ wp[-12] ^ wp[-14];
		wp[2] = (x<<1) | (x>>31);
		c += ((d<<5) | (d>>27)) + wp[2];
		c += 0x5a827999 + (((a^b)&e)^b);
		e = (e<<30)|(e>>2);

		x = wp[0] ^ wp[-5] ^ wp[-11] ^ wp[-13];
		wp[3] = (x<<1) | (x>>31);
		b += ((c<<5) | (c>>27)) + wp[3];
		b += 0x5a827999 + (((e^a)&d)^a);
		d = (d<<30)|(d>>2);

		x = wp[1] ^ wp[-4] ^ wp[-10] ^ wp[-12];
		wp[4] = (x<<1) | (x>>31);
		a += ((b<<5) | (b>>27)) + wp[4];
		a += 0x5a827999 + (((d^e)&c)^e);
		c = (c<<30)|(c>>2);

		wp += 5;
		p += 4;

		wend = w + 40;
		for(; wp < wend; wp += 5){
			x = wp[-3] ^ wp[-8] ^ wp[-14] ^ wp[-16];
			wp[0] = (x<<1) | (x>>31);
			e += ((a<<5) | (a>>27)) + wp[0];
			e += 0x6ed9eba1 + (b^c^d);
			b = (b<<30)|(b>>2);

			x = wp[-2] ^ wp[-7] ^ wp[-13] ^ wp[-15];
			wp[1] = (x<<1) | (x>>31);
			d += ((e<<5) | (e>>27)) + wp[1];
			d += 0x6ed9eba1 + (a^b^c);
			a = (a<<30)|(a>>2);

			x = wp[-1] ^ wp[-6] ^ wp[-12] ^ wp[-14];
			wp[2] = (x<<1) | (x>>31);
			c += ((d<<5) | (d>>27)) + wp[2];
			c += 0x6ed9eba1 + (e^a^b);
			e = (e<<30)|(e>>2);

			x = wp[0] ^ wp[-5] ^ wp[-11] ^ wp[-13];
			wp[3] = (x<<1) | (x>>31);
			b += ((c<<5) | (c>>27)) + wp[3];
			b += 0x6ed9eba1 + (d^e^a);
			d = (d<<30)|(d>>2);

			x = wp[1] ^ wp[-4] ^ wp[-10] ^ wp[-12];
			wp[4] = (x<<1) | (x>>31);
			a += ((b<<5) | (b>>27)) + wp[4];
			a += 0x6ed9eba1 + (c^d^e);
			c = (c<<30)|(c>>2);
		}

		wend = w + 60;
		for(; wp < wend; wp += 5){
			x = wp[-3] ^ wp[-8] ^ wp[-14] ^ wp[-16];
			wp[0] = (x<<1) | (x>>31);
			e += ((a<<5) | (a>>27)) + wp[0];
			e += 0x8f1bbcdc + ((b&c)|((b|c)&d));
			b = (b<<30)|(b>>2);

			x = wp[-2] ^ wp[-7] ^ wp[-13] ^ wp[-15];
			wp[1] = (x<<1) | (x>>31);
			d += ((e<<5) | (e>>27)) + wp[1];
			d += 0x8f1bbcdc + ((a&b)|((a|b)&c));
			a = (a<<30)|(a>>2);

			x = wp[-1] ^ wp[-6] ^ wp[-12] ^ wp[-14];
			wp[2] = (x<<1) | (x>>31);
			c += ((d<<5) | (d>>27)) + wp[2];
			c += 0x8f1bbcdc + ((e&a)|((e|a)&b));
			e = (e<<30)|(e>>2);

			x = wp[0] ^ wp[-5] ^ wp[-11] ^ wp[-13];
			wp[3] = (x<<1) | (x>>31);
			b += ((c<<5) | (c>>27)) + wp[3];
			b += 0x8f1bbcdc + ((d&e)|((d|e)&a));
			d = (d<<30)|(d>>2);

			x = wp[1] ^ wp[-4] ^ wp[-10] ^ wp[-12];
			wp[4] = (x<<1) | (x>>31);
			a += ((b<<5) | (b>>27)) + wp[4];
			a += 0x8f1bbcdc + ((c&d)|((c|d)&e));
			c = (c<<30)|(c>>2);
		}

		wend = w + 80;
		for(; wp < wend; wp += 5){
			x = wp[-3] ^ wp[-8] ^ wp[-14] ^ wp[-16];
			wp[0] = (x<<1) | (x>>31);
			e += ((a<<5) | (a>>27)) + wp[0];
			e += 0xca62c1d6 + (b^c^d);
			b = (b<<30)|(b>>2);

			x = wp[-2] ^ wp[-7] ^ wp[-13] ^ wp[-15];
			wp[1] = (x<<1) | (x>>31);
			d += ((e<<5) | (e>>27)) + wp[1];
			d += 0xca62c1d6 + (a^b^c);
			a = (a<<30)|(a>>2);

			x = wp[-1] ^ wp[-6] ^ wp[-12] ^ wp[-14];
			wp[2] = (x<<1) | (x>>31);
			c += ((d<<5) | (d>>27)) + wp[2];
			c += 0xca62c1d6 + (e^a^b);
			e = (e<<30)|(e>>2);

			x = wp[0] ^ wp[-5] ^ wp[-11] ^ wp[-13];
			wp[3] = (x<<1) | (x>>31);
			b += ((c<<5) | (c>>27)) + wp[3];
			b += 0xca62c1d6 + (d^e^a);
			d = (d<<30)|(d>>2);

			x = wp[1] ^ wp[-4] ^ wp[-10] ^ wp[-12];
			wp[4] = (x<<1) | (x>>31);
			a += ((b<<5) | (b>>27)) + wp[4];
			a += 0xca62c1d6 + (c^d^e);
			c = (c<<30)|(c>>2);
		}

		/* save state */
		s[0] += a;
		s[1] += b;
		s[2] += c;
		s[3] += d;
		s[4] += e;
	}
}

[-- Attachment #8: tas.s --]
[-- Type: text/plain , Size: 41 bytes --]

.globl tas

	retl
	ldstub [%o0], %o0

[-- Attachment #9: typescript --]
[-- Type: text/plain , Size: 30830 bytes --]

Script started on Fri Apr 28 22:53:21 2006
^[];/home/fmg/belinfan/src/plan9/dt2k/drawterm belinfan@zamenhof\a^[];/home/fmg/belinfan/src/plan9/dt2k/drawterm belinfan@zamenhof\a;  make 'CONF=unix' 'AUDIO=none'
cc -xCC -I. -I./include -I./kern  -c -g -D_THREAD_SAFE main.c
cc -xCC -I. -I./include -I./kern  -c -g -D_THREAD_SAFE cpu.c
"cpu.c", line 57: warning: initialization type mismatch
cc -xCC -I. -I./include -I./kern  -c -g -D_THREAD_SAFE readcons.c
cc -xCC -I. -I./include -I./kern  -c -g -D_THREAD_SAFE secstore.c
cc -xCC -I. -I./include -I./kern  -c -g -D_THREAD_SAFE latin1.c
cc -xCC -I. -I./include -I./kern  -c -g -D_THREAD_SAFE posix-factotum.c
(cd kern; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/kern'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE allocb.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE cache.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE chan.c
"chan.c", line 1361: warning: statement not reached
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE data.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dev.c
"dev.c", line 303: warning: statement not reached
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devaudio.c
"devaudio.c", line 25: warning: initializer does not fit or is out of range: 0x8000016d
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devaudio-none.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devcons.c
"devcons.c", line 9: warning: initialization type mismatch
"devcons.c", line 10: warning: initialization type mismatch
"devcons.c", line 89: warning: argument #3 is incompatible with prototype:
	prototype: pointer to function(pointer to void) returning void : "./fns.h", line 265
	argument : pointer to void
"devcons.c", line 144: warning: operands have incompatible pointer types: op "!="
"devcons.c", line 335: warning: operands have incompatible pointer types: op "=="
"devcons.c", line 338: warning: assignment type mismatch:
	pointer to function(void) returning void "=" pointer to void
"devcons.c", line 342: warning: operands have incompatible pointer types: op "=="
"devcons.c", line 366: warning: operands have incompatible pointer types: op "!="
"devcons.c", line 482: warning: initializer does not fit or is out of range: 0x8000016d
"devcons.c", line 1175: warning: operands have incompatible pointer types: op "!="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devdraw.c
"devdraw.c", line 1385: warning: assignment type mismatch:
	pointer to function(pointer to struct Memimage {struct Rectangle {..} r, struct Rectangle {..} clipr, int depth, int nchan, unsigned int chan, pointer to struct Memcmap {..} cmap, pointer to struct Memdata {..} data, int zero, unsigned int width, pointer to struct Memlayer {..} layer, unsigned int flags, array[7] of int shift, array[7] of int mask, array[7] of int nbits, pointer to void X}, struct Rectangle {struct Point {..} min, struct Point {..} max}, pointer to void) returning void "=" pointer to void
"devdraw.c", line 1528: warning: integer overflow detected: op "<<"
"devdraw.c", line 1530: warning: integer overflow detected: op "<<"
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devfs-posix.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devip.c
"devip.c", line 522: warning: statement not reached
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devip-posix.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devlfd.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devmnt.c
"devmnt.c", line 219: warning: argument #3 is incompatible with prototype:
	prototype: pointer to function(pointer to void) returning void : "./fns.h", line 265
	argument : pointer to void
"devmnt.c", line 973: warning: operands have incompatible pointer types: op "!="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devmouse.c
"devmouse.c", line 25: warning: initializer does not fit or is out of range: 0x8000016d
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devpipe.c
"devpipe.c", line 35: warning: initializer does not fit or is out of range: 0x80000140
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devroot.c
"devroot.c", line 30: warning: initializer does not fit or is out of range: 0x8000016d
"devroot.c", line 31: warning: initializer does not fit or is out of range: 0x8000016d
"devroot.c", line 32: warning: initializer does not fit or is out of range: 0x8000016d
"devroot.c", line 45: warning: initializer does not fit or is out of range: 0x8000016d
"devroot.c", line 59: warning: initializer does not fit or is out of range: 0x8000016d
"devroot.c", line 60: warning: initializer does not fit or is out of range: 0x8000016d
"devroot.c", line 198: warning: statement not reached
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devssl.c
"devssl.c", line 240: warning: statement not reached
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devtls.c
"devtls.c", line 380: warning: statement not reached
"devtls.c", line 470: warning: argument #3 is incompatible with prototype:
	prototype: pointer to function(pointer to void) returning void : "./fns.h", line 265
	argument : pointer to void
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE devtab.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE error.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE parse.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE pgrp.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE procinit.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rwlock.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sleep.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE smalloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE stub.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sysfile.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sysproc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE qio.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE qlock.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE term.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE todo.c
"todo.c", line 1: warning: empty translation unit
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE uart.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE waserror.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE posix.c
ar r libkern.a allocb.o cache.o chan.o data.o dev.o devaudio.o devaudio-none.o devcons.o devdraw.o devfs-posix.o devip.o devip-posix.o devlfd.o devmnt.o devmouse.o devpipe.o devroot.o devssl.o devtls.o devtab.o error.o parse.o pgrp.o procinit.o rwlock.o sleep.o smalloc.o stub.o sysfile.o sysproc.o qio.o qlock.o term.o todo.o uart.o waserror.o posix.o
ranlib libkern.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/kern'
(cd exportfs; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/exportfs'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE exportfs.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE exportsrv.c
ar r libexportfs.a exportfs.o exportsrv.o
ranlib libexportfs.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/exportfs'
(cd libauth; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libauth'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE attr.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_attr.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_challenge.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_getuserpasswd.c
"auth_getuserpasswd.c", line 18: warning: operands have incompatible pointer types: op "=="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_proxy.c
"auth_proxy.c", line 108: warning: operands have incompatible pointer types: op "=="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_respond.c
"auth_respond.c", line 19: warning: operands have incompatible pointer types: op "=="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_rpc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE auth_userpasswd.c
ar r libauth.a attr.o auth_attr.o auth_challenge.o auth_getuserpasswd.o auth_proxy.o auth_respond.o auth_rpc.o auth_userpasswd.o
ranlib libauth.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libauth'
(cd libauthsrv; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libauthsrv'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE _asgetticket.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE _asrdresp.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convA2M.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convM2A.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convM2PR.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convM2T.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convM2TR.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convPR2M.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convT2M.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convTR2M.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE nvcsum.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE opasstokey.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE passtokey.c
ar r libauthsrv.a _asgetticket.o _asrdresp.o convA2M.o convM2A.o convM2PR.o convM2T.o convM2TR.o convPR2M.o convT2M.o convTR2M.o nvcsum.o opasstokey.o passtokey.o
ranlib libauthsrv.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libauthsrv'
(cd libsec; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libsec'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE aes.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE blowfish.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE decodepem.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE des.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE des3CBC.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE des3ECB.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE desCBC.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE desECB.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE desmodes.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dsaalloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dsagen.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dsaprimes.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dsaprivtopub.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dsasign.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dsaverify.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE egalloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE egdecrypt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE egencrypt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE eggen.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE egprivtopub.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE egsign.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE egverify.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fastrand.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE genprime.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE genrandom.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE gensafeprime.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE genstrongprime.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE hmac.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE md4.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE md5.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE md5pickle.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE nfastrand.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE prng.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE probably_prime.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rc4.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rsaalloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rsadecrypt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rsaencrypt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rsafill.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rsagen.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rsaprivtopub.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sha1.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sha1pickle.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE smallprimes.c
ar r libsec.a aes.o blowfish.o decodepem.o des.o des3CBC.o des3ECB.o desCBC.o desECB.o desmodes.o dsaalloc.o dsagen.o dsaprimes.o dsaprivtopub.o dsasign.o dsaverify.o egalloc.o egdecrypt.o egencrypt.o eggen.o egprivtopub.o egsign.o egverify.o fastrand.o genprime.o genrandom.o gensafeprime.o genstrongprime.o hmac.o md4.o md5.o md5pickle.o nfastrand.o prng.o probably_prime.o rc4.o rsaalloc.o rsadecrypt.o rsaencrypt.o rsafill.o rsagen.o rsaprivtopub.o sha1.o sha1pickle.o smallprimes.o
ranlib libsec.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libsec'
(cd libmp; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libmp'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE betomp.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE crt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE letomp.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpadd.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpaux.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpcmp.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpdigdiv.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpdiv.c
"mpdiv.c", line 32: warning: integer overflow detected: op "<<"
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpeuclid.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpexp.c
"mpexp.c", line 45: warning: integer overflow detected: op "<<"
"mpexp.c", line 64: warning: integer overflow detected: op "<<"
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpextendedgcd.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpfmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpinvert.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpleft.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpmod.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpmul.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mprand.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpright.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpsub.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mptobe.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mptoi.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mptole.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mptoui.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mptouv.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mptov.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpvecadd.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpveccmp.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpvecdigmuladd.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mpvecsub.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE strtomp.c
ar r libmp.a betomp.o crt.o letomp.o mpadd.o mpaux.o mpcmp.o mpdigdiv.o mpdiv.o mpeuclid.o mpexp.o mpextendedgcd.o mpfmt.o mpinvert.o mpleft.o mpmod.o mpmul.o mprand.o mpright.o mpsub.o mptobe.o mptoi.o mptole.o mptoui.o mptouv.o mptov.o mpvecadd.o mpveccmp.o mpvecdigmuladd.o mpvecsub.o strtomp.o
ranlib libmp.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libmp'
(cd libmemdraw; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libmemdraw'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE alloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE arc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE cload.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE cmap.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE cread.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE defont.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE draw.c
"draw.c", line 1893: warning: return value type mismatch
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE ellipse.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fillpoly.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE hwdraw.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE line.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE load.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE openmemsubfont.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE poly.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE read.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE string.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE subfont.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE unload.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE write.c
ar r libmemdraw.a alloc.o arc.o cload.o cmap.o cread.o defont.o draw.o ellipse.o fillpoly.o hwdraw.o line.o load.o openmemsubfont.o poly.o read.o string.o subfont.o unload.o write.o
ranlib libmemdraw.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libmemdraw'
(cd libmemlayer; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libmemlayer'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE draw.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE lalloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE layerop.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE ldelete.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE lhide.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE line.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE load.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE lorigin.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE lsetrefresh.c
"lsetrefresh.c", line 13: warning: operands have incompatible pointer types: op "!="
"lsetrefresh.c", line 13: warning: operands have incompatible pointer types: op "!="
"lsetrefresh.c", line 19: warning: operands have incompatible pointer types: op "=="
"lsetrefresh.c", line 32: warning: assignment type mismatch:
	pointer to function(pointer to struct Memimage {struct Rectangle {..} r, struct Rectangle {..} clipr, int depth, int nchan, unsigned int chan, pointer to struct Memcmap {..} cmap, pointer to struct Memdata {..} data, int zero, unsigned int width, pointer to struct Memlayer {..} layer, unsigned int flags, array[7] of int shift, array[7] of int mask, array[7] of int nbits, pointer to void X}, struct Rectangle {struct Point {..} min, struct Point {..} max}, pointer to void) returning void "=" pointer to void
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE ltofront.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE ltorear.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE unload.c
"unload.c", line 38: warning: operands have incompatible pointer types: op "!="
ar r libmemlayer.a draw.o lalloc.o layerop.o ldelete.o lhide.o line.o load.o lorigin.o lsetrefresh.o ltofront.o ltorear.o unload.o
ranlib libmemlayer.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libmemlayer'
(cd libdraw; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libdraw'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE alloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE arith.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE bytesperline.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE chan.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE defont.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE drawrepl.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE icossin.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE icossin2.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rectclip.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rgb.c
ar r libdraw.a alloc.o arith.o bytesperline.o chan.o defont.o drawrepl.o icossin.o icossin2.o rectclip.o rgb.o
ranlib libdraw.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libdraw'
(cd gui-x11; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/gui-x11'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE   -c -o alloc.o alloc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE   -c -o cload.o cload.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE   -c -o draw.o draw.c
"draw.c", line 99: warning: statement not reached
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE   -c -o load.o load.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE   -c -o screen.o screen.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE   -c -o keysym2ucs-x11.o keysym2ucs-x11.c
ar r libgui.a alloc.o cload.o draw.o load.o screen.o keysym2ucs-x11.o
ranlib libgui.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/gui-x11'
(cd libc; /Gnu/bin/make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libc'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE charstod.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE cleanname.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convD2M.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convM2D.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convM2S.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE convS2M.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE crypt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dial.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dirfstat.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dirfwstat.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dirmodefmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dirstat.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dirwstat.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dofmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE dorfmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE encodefmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fcallfmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fltfmt.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmt.c
"fmt.c", line 64: warning: initialization type mismatch
"fmt.c", line 119: warning: operands have incompatible pointer types: op "=="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtfd.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtfdflush.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtlock.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtquote.c
"fmtquote.c", line 54: warning: operands have incompatible pointer types: op "!="
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtrune.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtstr.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fmtvprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE fprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE getfields.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE getpid.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE lock.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE mallocz.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE nan64.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE netmkaddr.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE nsec.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE pow10.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE pushssl.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE pushtls.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE read9pmsg.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE readn.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE rune.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runefmtstr.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runeseprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runesmprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runesnprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runesprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runetype.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runevseprint.c
"runevseprint.c", line 16: warning: assignment type mismatch:
	pointer to function(pointer to struct Fmt {unsigned char runes, pointer to void start, pointer to void to, pointer to void stop, pointer to function(pointer to struct Fmt {..}) returning int flush, pointer to void farg, int nfmt, pointer to void args, int r, int width, int prec, unsigned int flags}) returning int "=" pointer to void
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runevsmprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE runevsnprint.c
"runevsnprint.c", line 16: warning: assignment type mismatch:
	pointer to function(pointer to struct Fmt {unsigned char runes, pointer to void start, pointer to void to, pointer to void stop, pointer to function(pointer to struct Fmt {..}) returning int flush, pointer to void farg, int nfmt, pointer to void args, int r, int width, int prec, unsigned int flags}) returning int "=" pointer to void
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE seprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE smprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE snprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE strecpy.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE strtod.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE strtoll.c
"strtoll.c", line 59: warning: integer overflow detected: op "<<"
"strtoll.c", line 87: warning: integer overflow detected: op "<<"
"strtoll.c", line 88: warning: integer overflow detected: op "<<"
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sysfatal.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE time.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE tokenize.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE truerand.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE u16.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE u32.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE u64.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE utfecpy.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE utflen.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE utfnlen.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE utfrrune.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE utfrune.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE utfutf.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE vfprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE vseprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE vsmprint.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE vsnprint.c
ar r libc.a charstod.o cleanname.o convD2M.o convM2D.o convM2S.o convS2M.o crypt.o dial.o dirfstat.o dirfwstat.o dirmodefmt.o dirstat.o dirwstat.o dofmt.o dorfmt.o encodefmt.o fcallfmt.o fltfmt.o fmt.o fmtfd.o fmtfdflush.o fmtlock.o fmtprint.o fmtquote.o fmtrune.o fmtstr.o fmtvprint.o fprint.o getfields.o getpid.o lock.o mallocz.o nan64.o netmkaddr.o nsec.o pow10.o pushssl.o pushtls.o read9pmsg.o readn.o rune.o runefmtstr.o runeseprint.o runesmprint.o runesnprint.o runesprint.o runetype.o runevseprint.o runevsmprint.o runevsnprint.o seprint.o smprint.o snprint.o sprint.o strecpy.o strtod.o strtoll.o sysfatal.o time.o tokenize.o truerand.o u16.o u32.o u64.o utfecpy.o utflen.o utfnlen.o utfrrune.o utfrune.o utfutf.o vfprint.o vseprint.o vsmprint.o vsnprint.o
ranlib libc.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/libc'
arch=`uname -m|sed 's/i.86/386/;s/Power Macintosh/power/'`; \
(cd posix-$arch &&  make)
make[1]: Entering directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/posix-sun4u'
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE getcallerpc.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE md5block.c
cc -xCC -I.. -I../include -I../kern  -c -g -D_THREAD_SAFE sha1block.c
as -o tas.o tas.s
ar r ../libmachdep.a getcallerpc.o md5block.o sha1block.o tas.o
ranlib ../libmachdep.a
make[1]: Leaving directory `/home/fmg/belinfan/src/plan9/dt2k/drawterm/posix-sun4u'
cc -xCC  -o drawterm main.o cpu.o readcons.o secstore.o latin1.o posix-factotum.o   kern/libkern.a exportfs/libexportfs.a libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a gui-x11/libgui.a libc/libc.a  kern/libkern.a exportfs/libexportfs.a libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a gui-x11/libgui.a libc/libc.a  kern/libkern.a exportfs/libexportfs.a libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a gui-x11/libgui.a libc/libc.a  libmachdep.a -L/usr/X11R6/lib -lX11 -lrt -lpthread -lsocket -lnsl
; ^D\b\b
script done on Fri Apr 28 23:01:26 2006

  parent reply	other threads:[~2006-04-28 21:02 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-27  3:23 [9fans] Drawterm Solaris Noah Evans
2006-04-27 12:32 ` Russ Cox
2006-04-27 15:26   ` Noah Evans
2006-04-27 16:47     ` Russ Cox
2006-04-27 16:01       ` andrey mirtchovski
2006-04-27 16:06         ` andrey mirtchovski
2006-04-28  0:04           ` Noah Evans
2006-04-28  0:57             ` andrey mirtchovski
2006-04-28 10:46               ` Noah Evans
2006-04-28 11:14                 ` Axel Belinfante
2006-04-28 21:02                 ` Axel Belinfante [this message]
2006-04-28 21:26                   ` [9fans] Drawterm Solaris 8.5 (long) Axel Belinfante
2006-05-01  6:42                     ` Noah Evans
2006-04-28  0:02       ` [9fans] Drawterm Solaris Noah Evans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200604282102.k3SL2ua07544@zamenhof.cs.utwente.nl \
    --to=axel.belinfante@cs.utwente.nl \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).