Browse Source

Plan 9 from Bell Labs 2003-12-19

David du Colombier 20 years ago
parent
commit
ce3de632a5

+ 6 - 5
dist/replica/plan9.db

@@ -3396,7 +3396,7 @@ sys/include/geometry.h - 664 sys sys 1014929063 2632
 sys/include/html.h - 664 sys sys 1017679304 15157
 sys/include/httpd.h - 664 sys sys 1014929064 5726
 sys/include/ip.h - 664 sys sys 1050702405 2908
-sys/include/keyboard.h - 664 sys sys 1071535972 802
+sys/include/keyboard.h - 664 sys sys 1071725439 790
 sys/include/libc.h - 664 sys sys 1067718922 19305
 sys/include/libsec.h - 664 sys sys 1068129557 8966
 sys/include/mach.h - 664 sys sys 1068478049 8194
@@ -4649,6 +4649,7 @@ sys/man/1/lex - 664 sys sys 1032058565 1520
 sys/man/1/look - 664 sys sys 944959673 1348
 sys/man/1/lp - 664 sys sys 1015024739 3304
 sys/man/1/ls - 664 sys sys 1049813576 2791
+sys/man/1/lsof - 664 sys sys 1071802922 620
 sys/man/1/mail - 664 sys sys 1050078464 2158
 sys/man/1/man - 664 sys sys 1059484724 1740
 sys/man/1/marshal - 664 sys sys 1050078464 3307
@@ -5314,7 +5315,7 @@ sys/src/9/pc/i8259.c - 664 sys sys 1015014519 4423
 sys/src/9/pc/init9.c - 664 sys sys 1040002518 94
 sys/src/9/pc/initcode.s - 664 sys sys 1015014519 282
 sys/src/9/pc/io.h - 664 sys sys 1067722633 7991
-sys/src/9/pc/kbd.c - 664 sys sys 1039753498 9134
+sys/src/9/pc/kbd.c - 664 sys sys 1071726245 9135
 sys/src/9/pc/l.s - 664 sys sys 1071514801 23314
 sys/src/9/pc/main.c - 664 sys sys 1067722634 14685
 sys/src/9/pc/mem.h - 664 sys sys 1018553448 4573
@@ -6666,7 +6667,7 @@ sys/src/cmd/8c/gc.h - 664 sys sys 1018556084 5708
 sys/src/cmd/8c/list.c - 664 sys sys 1067720660 3975
 sys/src/cmd/8c/mkenam - 664 sys sys 944960730 112
 sys/src/cmd/8c/mkfile - 664 sys sys 1016938025 251
-sys/src/cmd/8c/peep.c - 664 sys sys 1016938025 9887
+sys/src/cmd/8c/peep.c - 664 sys sys 1071778501 10636
 sys/src/cmd/8c/reg.c - 664 sys sys 1016938025 20464
 sys/src/cmd/8c/sgen.c - 664 sys sys 1019058717 12203
 sys/src/cmd/8c/swt.c - 664 sys sys 1018556085 10693
@@ -6677,8 +6678,8 @@ sys/src/cmd/8l/compat.c - 664 sys sys 944960733 445
 sys/src/cmd/8l/l.h - 664 sys sys 1016938032 5590
 sys/src/cmd/8l/list.c - 664 sys sys 1045503947 4185
 sys/src/cmd/8l/mkfile - 664 sys sys 1032102046 363
-sys/src/cmd/8l/obj.c - 664 sys sys 1045503948 24392
-sys/src/cmd/8l/optab.c - 664 sys sys 1016938032 16328
+sys/src/cmd/8l/obj.c - 664 sys sys 1071778472 24102
+sys/src/cmd/8l/optab.c - 664 sys sys 1071778472 16231
 sys/src/cmd/8l/pass.c - 664 sys sys 1045503949 10682
 sys/src/cmd/8l/span.c - 664 sys sys 1045503950 22035
 sys/src/cmd/9660srv - 20000000775 sys sys 944960735 0

+ 6 - 0
dist/replica/plan9.log

@@ -13153,3 +13153,9 @@
 1071689381 0 c sys/src/cmd/upas/fs/imap4.c - 664 sys sys 1071689378 16021
 1071692561 0 c sys/src/libdraw/init.c - 664 sys sys 1071692552 9082
 1071720094 0 c sys/src/cmd/file.c - 664 sys sys 1071719684 20614
+1071725494 0 c sys/include/keyboard.h - 664 sys sys 1071725439 790
+1071727295 0 c sys/src/9/pc/kbd.c - 664 sys sys 1071726245 9135
+1071779501 0 c sys/src/cmd/8c/peep.c - 664 sys sys 1071778501 10636
+1071779501 1 c sys/src/cmd/8l/obj.c - 664 sys sys 1071778472 24102
+1071779501 2 c sys/src/cmd/8l/optab.c - 664 sys sys 1071778472 16231
+1071802905 0 a sys/man/1/lsof - 664 sys sys 1071802922 620

+ 1 - 1
sys/include/keyboard.h

@@ -32,7 +32,7 @@ enum {
 	Kview=	0x80,
 	Kpgdown=	KF|0x13,
 	Kins=	KF|0x14,
-	Kend=	KF|0x18,	/* [sic] */
+	Kend=	KF|0x18,
 
 	Kalt=		KF|0x15,
 	Kshift=	KF|0x16,

+ 31 - 0
sys/man/1/lsof

@@ -0,0 +1,31 @@
+.TH LSOF 1
+.SH NAME
+lsof \- list open files
+.SH SYNOPSIS
+.B lsof
+[
+.B pid ...
+]
+.SH DESCRIPTION
+.I Lsof
+lists the open files for a process or processes.
+.PP
+For each 
+.I pid
+(default all) 
+.I lsof
+prints a line for each file descriptor the process holds
+open. 
+The line contains whitespace delimited fields, 
+the first of which is the process id of the process, 
+and the rest is formatted exactly as it is reported from the file fd described in 
+.IR proc (3).
+.PP
+The process' current working directory is omitted from the output.
+
+..SH FILES
+.TF /proc/*/fd
+.SH SOURCE
+.B /sys/src/cmd/lsof.c
+.SH "SEE ALSO"
+.IR proc (3)

+ 1 - 1
sys/src/9/pc/kbd.c

@@ -41,7 +41,7 @@ enum {
 	Print=		KF|16,
 	Left=		KF|17,
 	Right=		KF|18,
-	End=		'\r',
+	End=		KF|24,
 	Down=		View,
 	Pgdown=		KF|19,
 	Ins=		KF|20,

+ 42 - 0
sys/src/cmd/8c/peep.c

@@ -71,6 +71,44 @@ loop1:
 				}
 			}
 			break;
+		case AADDL:
+		case AADDW:
+			if(p->from.type != D_CONST)
+				break;
+			if(p->from.offset == -1){
+				if(p->as == AADDL)
+					p->as = ADECL;
+				else
+					p->as = ADECW;
+				p->from = zprog.from;
+			}
+			else if(p->from.offset == 1){
+				if(p->as == AADDL)
+					p->as = AINCL;
+				else
+					p->as = AINCW;
+				p->from = zprog.from;
+			}
+			break;
+		case ASUBL:
+		case ASUBW:
+			if(p->from.type != D_CONST)
+				break;
+			if(p->from.offset == -1) {
+				if(p->as == ASUBL)
+					p->as = AINCL;
+				else
+					p->as = AINCW;
+				p->from = zprog.from;
+			}
+			else if(p->from.offset == 1){
+				if(p->as == ASUBL)
+					p->as = ADECL;
+				else
+					p->as = ADECW;
+				p->from = zprog.from;
+			}
+			break;
 		}
 	}
 	if(t)
@@ -426,6 +464,10 @@ copyu(Prog *p, Adr *v, Adr *s)
 	case AANDB:
 	case AANDL:
 	case AANDW:
+	case ADECL:
+	case ADECW:
+	case AINCL:
+	case AINCW:
 	case ASUBB:
 	case ASUBL:
 	case ASUBW:

+ 0 - 16
sys/src/cmd/8l/obj.c

@@ -984,22 +984,6 @@ loop:
 		}
 		goto casdef;
 
-	case AADDL:
-		if(p->from.type == D_CONST)
-		if(p->from.offset < 0) {
-			p->as = ASUBL;
-			p->from.offset = -p->from.offset;
-		}
-		goto casdef;
-
-	case ASUBL:
-		if(p->from.type == D_CONST)
-		if(p->from.offset < 0) {
-			p->as = AADDL;
-			p->from.offset = -p->from.offset;
-		}
-		goto casdef;
-
 	casdef:
 	default:
 		if(skip)

+ 7 - 9
sys/src/cmd/8l/optab.c

@@ -38,8 +38,6 @@ uchar	yxorl[] =
 };
 uchar	yaddl[] =
 {
-	Yi1,	Yrl,	Z_rp,	1,
-	Yi1,	Yml,	Zo_m,	2,
 	Yi8,	Yml,	Zibo_m,	2,
 	Yi32,	Yax,	Zil_,	1,
 	Yi32,	Yml,	Zilo_m,	2,
@@ -321,8 +319,8 @@ Optab optab[] =
 	{ AADCL,	yxorl,	Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
 	{ AADCW,	yxorl,	Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
 	{ AADDB,	yxorb,	Px, 0x04,0x80,(00),0x00,0x02 },
-	{ AADDL,	yaddl,	Px, 0x40,0xff,(00),0x83,(00),0x05,0x81,(00),0x01,0x03 },
-	{ AADDW,	yaddl,	Pe, 0x40,0xff,(00),0x83,(00),0x05,0x81,(00),0x01,0x03 },
+	{ AADDL,	yaddl,	Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
+	{ AADDW,	yaddl,	Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
 	{ AADJSP },
 	{ AANDB,	yxorb,	Pb, 0x24,0x80,(04),0x20,0x22 },
 	{ AANDL,	yxorl,	Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
@@ -526,8 +524,8 @@ Optab optab[] =
 	{ ASTOSL,	ynone,	Px, 0xab },
 	{ ASTOSW,	ynone,	Pe, 0xab },
 	{ ASUBB,	yxorb,	Pb, 0x2c,0x80,(05),0x28,0x2a },
-	{ ASUBL,	yaddl,	Px, 0x48,0xff,(01),0x83,(05),0x2d,0x81,(05),0x29,0x2b },
-	{ ASUBW,	yaddl,	Pe, 0x48,0xff,(01),0x83,(05),0x2d,0x81,(05),0x29,0x2b },
+	{ ASUBL,	yaddl,	Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
+	{ ASUBW,	yaddl,	Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
 	{ ASYSCALL,	ynone,	Px, 0xcd,100 },
 	{ ATESTB,	ytestb,	Pb, 0xa8,0xf6,(00),0x84,0x84 },
 	{ ATESTL,	ytestl,	Px, 0xa9,0xf7,(00),0x85,0x85 },
@@ -572,9 +570,9 @@ Optab optab[] =
 	{ AFCOMW,	yfmvx,	Px, 0xde,(02) },
 	{ AFCOMWP,	yfmvx,	Px, 0xde,(03) },
 
-	{ AFUCOM,	yfmvx,	Px, 0xdd,(04) },
-	{ AFUCOMP,	yfmvx,	Px, 0xdd,(05) },
-	{ AFUCOMPP,	yfmvx,	Px, 0xda,(05) },
+	{ AFUCOM,	ycompp,	Px, 0xdd,(04) },
+	{ AFUCOMP,	ycompp, Px, 0xdd,(05) },
+	{ AFUCOMPP,	ycompp,	Px, 0xda,(13) },
 
 	{ AFADDDP,	yfaddp,	Px, 0xde,(00) },
 	{ AFADDW,	yfmvx,	Px, 0xde,(00) },