Browse Source

Plan 9 from Bell Labs 2005-11-20

David du Colombier 18 years ago
parent
commit
0505bb9b36
66 changed files with 793 additions and 447 deletions
  1. 95 84
      dist/replica/_plan9.db
  2. 95 84
      dist/replica/plan9.db
  3. 96 0
      dist/replica/plan9.log
  4. 1 1
      sys/games/lib/fortunes
  5. 5 1
      sys/lib/dist/mkfile
  6. 1 0
      sys/lib/dist/pc/plan9.ini.cd
  7. 13 0
      sys/lib/dist/pc/sub/termrc
  8. 1 1
      sys/man/6/snap
  9. 1 1
      sys/src/9/alphapc/sd53c8xx.c
  10. 1 1
      sys/src/9/pc/devlml.c
  11. 5 0
      sys/src/ape/lib/9/386/getcallerpc.c
  12. 3 0
      sys/src/ape/lib/9/68020/getcallerpc.s
  13. 4 0
      sys/src/ape/lib/9/alpha/getcallerpc.s
  14. 3 0
      sys/src/ape/lib/9/arm/getcallerpc.s
  15. 4 0
      sys/src/ape/lib/9/mips/getcallerpc.s
  16. 5 3
      sys/src/ape/lib/9/mkfile
  17. 4 0
      sys/src/ape/lib/9/power/getcallerpc.s
  18. 4 0
      sys/src/ape/lib/9/setmalloctag.c
  19. 3 0
      sys/src/ape/lib/9/sparc/getcallerpc.s
  20. 1 0
      sys/src/cmd/1c/gc.h
  21. 1 1
      sys/src/cmd/1c/swt.c
  22. 20 8
      sys/src/cmd/1c/txt.c
  23. 1 0
      sys/src/cmd/2c/enam.c
  24. 1 0
      sys/src/cmd/2c/gc.h
  25. 1 1
      sys/src/cmd/2c/swt.c
  26. 21 8
      sys/src/cmd/2c/txt.c
  27. 2 2
      sys/src/cmd/7l/pass.c
  28. 4 4
      sys/src/cmd/9660srv/9660srv.c
  29. 16 7
      sys/src/cmd/aux/depend.c
  30. 5 0
      sys/src/cmd/cc/compat.c
  31. 10 8
      sys/src/cmd/cc/dcl.c
  32. 2 2
      sys/src/cmd/fossil/flfmt9660.c
  33. 1 1
      sys/src/cmd/hoc/code.c
  34. 1 1
      sys/src/cmd/kl/pass.c
  35. 55 26
      sys/src/cmd/ms2html.c
  36. 2 2
      sys/src/cmd/ql/pass.c
  37. 1 3
      sys/src/cmd/ramfs.c
  38. 11 4
      sys/src/cmd/rc/io.c
  39. 3 3
      sys/src/cmd/rc/io.h
  40. 1 1
      sys/src/cmd/rc/plan9.c
  41. 1 1
      sys/src/cmd/rc/win32.c
  42. 12 10
      sys/src/cmd/sam/cmd.c
  43. 61 12
      sys/src/cmd/sam/list.c
  44. 44 25
      sys/src/cmd/sam/mesg.c
  45. 3 3
      sys/src/cmd/sam/multi.c
  46. 1 1
      sys/src/cmd/sam/rasp.c
  47. 5 5
      sys/src/cmd/sam/sam.c
  48. 13 20
      sys/src/cmd/sam/sam.h
  49. 18 18
      sys/src/cmd/samterm/mesg.c
  50. 3 3
      sys/src/cmd/samterm/samterm.h
  51. 49 43
      sys/src/cmd/troff2html/troff2html.c
  52. 2 0
      sys/src/cmd/venti/dat.h
  53. 3 0
      sys/src/cmd/venti/fmtarenas.c
  54. 3 0
      sys/src/cmd/venti/fmtisect.c
  55. 18 4
      sys/src/cmd/venti/zeropart.c
  56. 1 1
      sys/src/cmd/vl/pass.c
  57. 1 2
      sys/src/cmd/vnc/devcons.c
  58. 34 34
      sys/src/cmd/webcookies.c
  59. 4 6
      sys/src/lib9p/file.c
  60. 3 0
      sys/src/libc/68020/getcallerpc.s
  61. 1 0
      sys/src/libc/68020/mkfile
  62. 3 0
      sys/src/libc/arm/getcallerpc.s
  63. 1 0
      sys/src/libc/arm/mkfile
  64. 3 0
      sys/src/libc/sparc/getcallerpc.s
  65. 1 0
      sys/src/libc/sparc/mkfile
  66. 1 1
      sys/src/libip/ptclbsum.c

+ 95 - 84
dist/replica/_plan9.db

@@ -23,7 +23,7 @@
 386/bin/acme - 775 sys sys 1131646633 428836
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1127360557 132862
-386/bin/ape/cc - 775 sys sys 1130594692 70329
+386/bin/ape/cc - 775 sys sys 1132418758 70437
 386/bin/ape/diff - 775 sys sys 1127360558 349757
 386/bin/ape/diff3 - 775 sys sys 1127360559 188245
 386/bin/ape/dirname - 775 sys sys 1127360559 132641
@@ -35,7 +35,7 @@
 386/bin/ape/sed - 775 sys sys 1127360562 158314
 386/bin/ape/sh - 775 sys sys 1127360563 477226
 386/bin/ape/stty - 775 sys sys 1130384232 41057
-386/bin/ape/tar - 775 sys sys 1130594693 61935
+386/bin/ape/tar - 775 sys sys 1132418759 61979
 386/bin/ape/uname - 775 sys sys 1127360563 132691
 386/bin/aquarela - 775 sys sys 1064598027 319170
 386/bin/ar - 775 sys sys 1131296672 111983
@@ -178,14 +178,14 @@
 386/bin/chgrp - 775 sys sys 1130594722 59317
 386/bin/chmod - 775 sys sys 1130594722 62313
 386/bin/cleanname - 775 sys sys 1130594722 58336
-386/bin/clock - 775 sys sys 1131646638 158259
+386/bin/clock - 775 sys sys 1132418759 158323
 386/bin/cmp - 775 sys sys 1130384270 40583
-386/bin/colors - 775 sys sys 1131646638 150553
+386/bin/colors - 775 sys sys 1132418760 150617
 386/bin/comm - 775 sys sys 1130594723 61383
 386/bin/con - 775 sys sys 1130594723 78243
 386/bin/cp - 775 sys sys 1130594723 63247
 386/bin/cpp - 775 sys sys 1130594724 149831
-386/bin/cpu - 775 sys sys 1130594724 139130
+386/bin/cpu - 775 sys sys 1132418760 139238
 386/bin/crop - 775 sys sys 1130594724 116040
 386/bin/date - 775 sys sys 1130384272 43279
 386/bin/db - 775 sys sys 1131302428 345503
@@ -226,7 +226,7 @@
 386/bin/factor - 775 sys sys 1130594733 61498
 386/bin/fcp - 775 sys sys 1131163702 82218
 386/bin/file - 775 sys sys 1131296674 121021
-386/bin/fmt - 775 sys sys 1130594733 65324
+386/bin/fmt - 775 sys sys 1132418760 65368
 386/bin/fortune - 775 sys sys 1130594734 67159
 386/bin/fossil - 20000000775 sys sys 1042005470 0
 386/bin/fossil/conf - 775 sys sys 1085077052 1506
@@ -264,10 +264,10 @@
 386/bin/grep - 775 sys sys 1130594743 79090
 386/bin/gs - 775 sys sys 1127360600 11125161
 386/bin/gunzip - 775 sys sys 1130594744 80307
-386/bin/gview - 775 sys sys 1131646642 238495
+386/bin/gview - 775 sys sys 1132418761 238559
 386/bin/gzip - 775 sys sys 1130594745 84785
 386/bin/hayes - 775 sys sys 1130594745 64588
-386/bin/hget - 775 sys sys 1130594746 233296
+386/bin/hget - 775 sys sys 1132418761 233404
 386/bin/history - 775 sys sys 1130594746 75389
 386/bin/hoc - 775 sys sys 1130594746 99898
 386/bin/html2ms - 775 sys sys 1130594747 66118
@@ -312,15 +312,15 @@
 386/bin/ip/udpecho - 775 sys sys 1130384306 43177
 386/bin/join - 775 sys sys 1130594758 114123
 386/bin/jpg - 775 sys sys 1131646643 174628
-386/bin/kbmap - 775 sys sys 1131646644 143598
+386/bin/kbmap - 775 sys sys 1132418762 143662
 386/bin/kprof - 775 sys sys 1131296675 105507
 386/bin/ktrace - 775 sys sys 1131296675 121949
-386/bin/lens - 775 sys sys 1131646644 150695
+386/bin/lens - 775 sys sys 1132418762 150759
 386/bin/lex - 775 sys sys 1130594760 98687
 386/bin/lnfs - 775 sys sys 1130594760 99472
 386/bin/look - 775 sys sys 1130594760 65573
 386/bin/ls - 775 sys sys 1130594760 82503
-386/bin/mc - 775 sys sys 1131646644 133843
+386/bin/mc - 775 sys sys 1132418762 133951
 386/bin/md5sum - 775 sys sys 1130594761 61297
 386/bin/mk - 775 sys sys 1131302428 144690
 386/bin/mkdir - 775 sys sys 1130594761 60996
@@ -344,8 +344,8 @@
 386/bin/ndb/query - 775 sys sys 1130594767 83073
 386/bin/netkey - 775 sys sys 1130594767 72339
 386/bin/netstat - 775 sys sys 1130594767 84696
-386/bin/news - 775 sys sys 1130594767 71692
-386/bin/nfs - 775 sys sys 1130731913 315832
+386/bin/news - 775 sys sys 1132418762 71736
+386/bin/nfs - 775 sys sys 1132418763 315896
 386/bin/nm - 775 sys sys 1131296675 125784
 386/bin/nntpfs - 775 sys sys 1130731914 161341
 386/bin/ns - 775 sys sys 1130594769 65283
@@ -354,7 +354,7 @@
 386/bin/paqfs - 775 sys sys 1130594770 107581
 386/bin/passwd - 775 sys sys 1130594770 83779
 386/bin/pbd - 775 sys sys 1085077087 4661
-386/bin/pcc - 775 sys sys 1130594771 67838
+386/bin/pcc - 775 sys sys 1132418763 67946
 386/bin/pic - 775 sys sys 1127360603 305710
 386/bin/pipefile - 775 sys sys 1130384320 39414
 386/bin/plot - 775 sys sys 1131646646 222284
@@ -362,14 +362,14 @@
 386/bin/plumber - 775 sys sys 1130594772 169886
 386/bin/png - 775 sys sys 1131646646 164272
 386/bin/ppm - 775 sys sys 1131646646 149447
-386/bin/pr - 775 sys sys 1130594773 77431
+386/bin/pr - 775 sys sys 1132418764 77495
 386/bin/primes - 775 sys sys 1130384322 38811
-386/bin/prof - 775 sys sys 1131296676 110924
+386/bin/prof - 775 sys sys 1132418764 110968
 386/bin/proof - 775 sys sys 1131646647 178692
 386/bin/ps - 775 sys sys 1130594774 68017
 386/bin/pwd - 775 sys sys 1130384323 36915
-386/bin/ramfs - 775 sys sys 1130594775 89854
-386/bin/rc - 775 sys sys 1130594775 143258
+386/bin/ramfs - 775 sys sys 1132418764 89820
+386/bin/rc - 775 sys sys 1132448643 143275
 386/bin/rdbfs - 775 sys sys 1130731914 168823
 386/bin/read - 775 sys sys 1130594776 58078
 386/bin/replica - 20000000775 sys sys 1018321168 0
@@ -402,16 +402,16 @@
 386/bin/sort - 775 sys sys 1130594784 82308
 386/bin/spin - 775 sys sys 1127360605 758519
 386/bin/split - 775 sys sys 1130594784 75667
-386/bin/srv - 775 sys sys 1130594785 82419
+386/bin/srv - 775 sys sys 1132418764 82481
 386/bin/srvfs - 775 sys sys 1130384335 40083
 386/bin/srvold9p - 775 sys sys 1130594785 130225
 386/bin/ssh - 775 sys sys 1130594786 211205
 386/bin/sshnet - 775 sys sys 1130731916 283308
-386/bin/stats - 775 sys sys 1131646648 190560
+386/bin/stats - 775 sys sys 1132418765 190670
 386/bin/strings - 775 sys sys 1130594787 62147
 386/bin/strip - 775 sys sys 1131296676 80766
 386/bin/sum - 775 sys sys 1130384338 39488
-386/bin/swap - 775 sys sys 1130594787 62126
+386/bin/swap - 775 sys sys 1132418765 62170
 386/bin/syscall - 775 sys sys 1130594788 73568
 386/bin/tail - 775 sys sys 1130594788 66201
 386/bin/tar - 775 sys sys 1131901139 97061
@@ -422,19 +422,19 @@
 386/bin/telnet - 775 sys sys 1130594789 80387
 386/bin/test - 775 sys sys 1130594789 69885
 386/bin/time - 775 sys sys 1130594789 61418
-386/bin/tlsclient - 775 sys sys 1130594790 198434
-386/bin/tlssrv - 775 sys sys 1130594790 198672
+386/bin/tlsclient - 775 sys sys 1132418765 198498
+386/bin/tlssrv - 775 sys sys 1132418766 198736
 386/bin/togif - 775 sys sys 1131646649 189866
 386/bin/toico - 775 sys sys 1131646649 123673
 386/bin/topng - 775 sys sys 1130594792 138351
 386/bin/toppm - 775 sys sys 1131646650 165250
 386/bin/touch - 775 sys sys 1130594792 63795
-386/bin/tprof - 775 sys sys 1131296677 297344
+386/bin/tprof - 775 sys sys 1132418766 297408
 386/bin/tr - 775 sys sys 1130594793 61883
-386/bin/trace - 775 sys sys 1131646650 181055
+386/bin/trace - 775 sys sys 1132418767 181163
 386/bin/troff - 775 sys sys 1127360609 357940
 386/bin/troff2html - 775 sys sys 1130594794 85723
-386/bin/tweak - 775 sys sys 1131646650 192831
+386/bin/tweak - 775 sys sys 1132418767 192895
 386/bin/unicode - 775 sys sys 1130594795 62546
 386/bin/uniq - 775 sys sys 1130594795 61923
 386/bin/units - 775 sys sys 1130594795 75273
@@ -502,11 +502,11 @@
 386/bin/vt - 775 sys sys 1131646652 173951
 386/bin/vtdump - 775 sys sys 1130594815 159490
 386/bin/wc - 775 sys sys 1130384372 41174
-386/bin/webcookies - 775 sys sys 1130731916 161948
+386/bin/webcookies - 775 sys sys 1132418768 161992
 386/bin/webfs - 775 sys sys 1130731917 354210
 386/bin/webfsget - 775 sys sys 1130384374 39161
 386/bin/wikifs - 775 sys sys 1130731918 202793
-386/bin/winwatch - 775 sys sys 1131646652 154846
+386/bin/winwatch - 775 sys sys 1132418768 154910
 386/bin/xd - 775 sys sys 1130594817 64076
 386/bin/xmr - 775 sys sys 1130384375 40175
 386/bin/xms - 775 sys sys 1130384375 40753
@@ -541,7 +541,7 @@
 386/lib/libauthsrv.a - 664 sys sys 1117249746 34098
 386/lib/libbin.a - 664 sys sys 1115950150 2534
 386/lib/libbio.a - 664 sys sys 1125346045 26064
-386/lib/libc.a - 664 sys sys 1130594821 502572
+386/lib/libc.a - 664 sys sys 1132418770 502902
 386/lib/libcomplete.a - 664 sys sys 1115950151 6370
 386/lib/libcontrol.a - 664 sys sys 1131646654 274922
 386/lib/libdisk.a - 664 sys sys 1126321691 42236
@@ -620,14 +620,14 @@ acme/acid/Acid - 775 sys sys 1015011246 86
 acme/acid/guide - 444 sys sys 1015011246 68
 acme/bin - 20000000775 sys sys 1017457907 0
 acme/bin/386 - 20000000775 sys sys 1015011570 0
-acme/bin/386/Mail - 775 sys sys 1130594819 179138
+acme/bin/386/Mail - 775 sys sys 1132418768 179246
 acme/bin/386/News - 775 sys sys 1130594819 128836
 acme/bin/386/Wiki - 775 sys sys 1130594819 127412
 acme/bin/386/acd - 775 sys sys 1032232412 137068
 acme/bin/386/adict - 775 sys sys 1015011247 99806
 acme/bin/386/mkwnew - 775 sys sys 1130384395 38977
 acme/bin/386/spout - 775 sys sys 1130594819 61640
-acme/bin/386/win - 775 sys sys 1130731918 179281
+acme/bin/386/win - 775 sys sys 1132418769 179325
 acme/bin/Battery - 775 sys sys 1017457907 451
 acme/bin/Isspam - 775 sys sys 1063951165 235
 acme/bin/Mail - 775 sys sys 1114697798 201
@@ -5766,7 +5766,7 @@ sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
 sys/games/lib/4scores - 10000000664 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000664 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1131110299 256627
+sys/games/lib/fortunes - 664 sys sys 1132452521 256595
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -6137,7 +6137,7 @@ sys/lib/dist/cmd/touchfs.c - 664 sys sys 1018469727 1120
 sys/lib/dist/cmd/unbflz.c - 664 sys sys 1018469727 1688
 sys/lib/dist/logcompress.awk - 664 sys sys 1068558028 298
 sys/lib/dist/logtime.awk - 664 sys sys 1019526213 38
-sys/lib/dist/mkfile - 664 sys sys 1127410222 4409
+sys/lib/dist/mkfile - 664 sys sys 1132452664 4522
 sys/lib/dist/pc - 20000000775 sys sys 1018721419 0
 sys/lib/dist/pc/cd0.proto - 664 sys sys 1114358485 7
 sys/lib/dist/pc/empty - 20000000775 sys sys 1018469720 0
@@ -6203,7 +6203,7 @@ sys/lib/dist/pc/inst/xxx - 775 sys sys 1018469719 160
 sys/lib/dist/pc/mkfile - 664 sys sys 1123094452 2158
 sys/lib/dist/pc/plan9.ini - 664 sys sys 1020361168 512
 sys/lib/dist/pc/plan9.ini.blank - 664 sys sys 1018469720 512
-sys/lib/dist/pc/plan9.ini.cd - 664 sys sys 1092148201 357
+sys/lib/dist/pc/plan9.ini.cd - 664 sys sys 1132452554 369
 sys/lib/dist/pc/plan9.ini.vmware - 664 sys sys 1045500078 168
 sys/lib/dist/pc/proto - 664 sys sys 1112535197 4250
 sys/lib/dist/pc/sub - 20000000775 sys sys 1018640631 0
@@ -6220,7 +6220,7 @@ sys/lib/dist/pc/sub/pci - 775 sys sys 1018469726 52
 sys/lib/dist/pc/sub/pwd - 664 sys sys 1018469726 59
 sys/lib/dist/pc/sub/ramfs - 775 sys sys 1063856126 48
 sys/lib/dist/pc/sub/sleep - 664 sys sys 1018469726 118
-sys/lib/dist/pc/sub/termrc - 664 sys sys 1126355274 2209
+sys/lib/dist/pc/sub/termrc - 664 sys sys 1132452603 2448
 sys/lib/dist/pc/sub/unmount - 664 sys sys 1018469726 46
 sys/lib/dist/pc/sub/users - 664 sys sys 1018469726 103
 sys/lib/dist/pc/sub/vmware - 775 sys sys 1033073493 132
@@ -7652,7 +7652,7 @@ sys/man/6/plumb - 664 sys sys 969499892 10918
 sys/man/6/regexp - 664 sys sys 954089523 2050
 sys/man/6/rewrite - 664 sys sys 969499892 3235
 sys/man/6/smtpd - 664 sys sys 971095216 8192
-sys/man/6/snap - 664 sys sys 954089530 2393
+sys/man/6/snap - 664 sys sys 1132452694 2402
 sys/man/6/thumbprint - 664 sys sys 1019866709 1124
 sys/man/6/users - 664 sys sys 1130912014 1392
 sys/man/6/utf - 664 sys sys 944959678 2430
@@ -7779,7 +7779,7 @@ sys/src/9/alphapc/mkfile - 664 sys sys 1109218102 1682
 sys/src/9/alphapc/mmu.c - 664 sys sys 1131538486 4981
 sys/src/9/alphapc/pci.c - 664 sys sys 1039753420 7868
 sys/src/9/alphapc/screen.h - 664 sys sys 1131289708 3818
-sys/src/9/alphapc/sd53c8xx.c - 664 sys sys 1131289709 50963
+sys/src/9/alphapc/sd53c8xx.c - 664 sys sys 1132448433 50964
 sys/src/9/alphapc/sio.c - 664 sys sys 1015012787 293
 sys/src/9/alphapc/trap.c - 664 sys sys 1105030177 18099
 sys/src/9/bitsy - 20000000775 sys sys 1018721429 0
@@ -7925,7 +7925,7 @@ sys/src/9/pc/devether.c - 664 sys sys 1131290265 10315
 sys/src/9/pc/devfloppy.c - 664 sys sys 1055689885 20024
 sys/src/9/pc/devi82365.c - 664 sys sys 1099761153 20505
 sys/src/9/pc/devlm78.c - 664 sys sys 1128255048 6291
-sys/src/9/pc/devlml.c - 664 sys sys 1131290276 7505
+sys/src/9/pc/devlml.c - 664 sys sys 1132448361 7502
 sys/src/9/pc/devlml.h - 664 sys sys 1026847636 2948
 sys/src/9/pc/devlpt.c - 664 sys sys 1015014514 4420
 sys/src/9/pc/devpccard.c - 664 sys sys 1131290281 40203
@@ -8363,20 +8363,26 @@ sys/src/ape/config - 664 sys sys 1014921996 573
 sys/src/ape/lib - 20000000775 sys sys 1014921994 0
 sys/src/ape/lib/9 - 20000000775 sys sys 1014921994 0
 sys/src/ape/lib/9/386 - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/386/getcallerpc.c - 664 sys sys 1132450766 76
 sys/src/ape/lib/9/386/getfcr.s - 664 sys sys 1014921994 256
 sys/src/ape/lib/9/68020 - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/68020/getcallerpc.s - 664 sys sys 1132450766 50
 sys/src/ape/lib/9/68020/getfcr.s - 664 sys sys 1014921994 229
 sys/src/ape/lib/9/alpha - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/alpha/getcallerpc.s - 664 sys sys 1132450766 48
 sys/src/ape/lib/9/alpha/getfcr.s - 664 sys sys 1014921994 816
 sys/src/ape/lib/9/arm - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/arm/getcallerpc.s - 664 sys sys 1132450767 48
 sys/src/ape/lib/9/arm/getfcr.s - 664 sys sys 1014921994 164
 sys/src/ape/lib/9/bind.c - 664 sys sys 1014921993 135
 sys/src/ape/lib/9/errstr.c - 664 sys sys 1014921993 134
 sys/src/ape/lib/9/mips - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/mips/getcallerpc.s - 664 sys sys 1132450767 47
 sys/src/ape/lib/9/mips/getfcr.s - 664 sys sys 1014921994 167
-sys/src/ape/lib/9/mkfile - 664 sys sys 1014921993 357
+sys/src/ape/lib/9/mkfile - 664 sys sys 1132450767 392
 sys/src/ape/lib/9/mount.c - 664 sys sys 1014921993 176
 sys/src/ape/lib/9/power - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/power/getcallerpc.s - 664 sys sys 1132450767 51
 sys/src/ape/lib/9/power/getfcr.s - 664 sys sys 1014921994 352
 sys/src/ape/lib/9/rendezvous.c - 664 sys sys 1014921993 186
 sys/src/ape/lib/9/rfork.c - 664 sys sys 1014921993 92
@@ -8385,7 +8391,9 @@ sys/src/ape/lib/9/segbrk.c - 664 sys sys 1014921993 124
 sys/src/ape/lib/9/segdetach.c - 664 sys sys 1014921993 108
 sys/src/ape/lib/9/segflush.c - 664 sys sys 1014921993 138
 sys/src/ape/lib/9/segfree.c - 664 sys sys 1014921993 136
+sys/src/ape/lib/9/setmalloctag.c - 664 sys sys 1132450767 44
 sys/src/ape/lib/9/sparc - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/sparc/getcallerpc.s - 664 sys sys 1132450767 49
 sys/src/ape/lib/9/sparc/getfcr.s - 664 sys sys 1014921994 335
 sys/src/ape/lib/9/unmount.c - 664 sys sys 1014921993 123
 sys/src/ape/lib/ap - 20000000775 sys sys 1014921991 0
@@ -9056,15 +9064,15 @@ sys/src/cmd/1c - 20000000775 sys sys 945321342 0
 sys/src/cmd/1c/bits.c - 664 sys sys 944961353 1370
 sys/src/cmd/1c/cgen.c - 664 sys sys 1089299179 28257
 sys/src/cmd/1c/enam.c - 664 sys sys 1089299179 4239
-sys/src/cmd/1c/gc.h - 664 sys sys 1114449033 6008
+sys/src/cmd/1c/gc.h - 664 sys sys 1132451333 6044
 sys/src/cmd/1c/list.c - 664 sys sys 1014926630 4507
 sys/src/cmd/1c/mkfile - 664 sys sys 944961353 264
 sys/src/cmd/1c/mul.c - 664 sys sys 944961353 2599
 sys/src/cmd/1c/peep.c - 664 sys sys 1089299178 15578
 sys/src/cmd/1c/reg.c - 664 sys sys 1124993748 21247
 sys/src/cmd/1c/sgen.c - 664 sys sys 1089299179 10853
-sys/src/cmd/1c/swt.c - 664 sys sys 1098463320 15417
-sys/src/cmd/1c/txt.c - 664 sys sys 944961353 16943
+sys/src/cmd/1c/swt.c - 664 sys sys 1132451340 15407
+sys/src/cmd/1c/txt.c - 664 sys sys 1132451346 17123
 sys/src/cmd/1l - 20000000775 sys sys 954038577 0
 sys/src/cmd/1l/asm.c - 664 sys sys 1089299178 27888
 sys/src/cmd/1l/compat.c - 664 sys sys 946595451 466
@@ -9086,16 +9094,16 @@ sys/src/cmd/2c - 20000000775 sys sys 954034944 0
 sys/src/cmd/2c/2.out.h - 664 sys sys 1120557091 5083
 sys/src/cmd/2c/bits.c - 664 sys sys 944960717 1370
 sys/src/cmd/2c/cgen.c - 664 sys sys 1089299176 28451
-sys/src/cmd/2c/enam.c - 664 sys sys 1089299176 4239
-sys/src/cmd/2c/gc.h - 664 sys sys 1114449040 6205
+sys/src/cmd/2c/enam.c - 664 sys sys 1132451400 4248
+sys/src/cmd/2c/gc.h - 664 sys sys 1132451401 6241
 sys/src/cmd/2c/list.c - 664 sys sys 1089299176 5521
 sys/src/cmd/2c/mkfile - 664 sys sys 944960717 258
 sys/src/cmd/2c/mul.c - 664 sys sys 944960717 2599
 sys/src/cmd/2c/peep.c - 664 sys sys 1089299176 15926
 sys/src/cmd/2c/reg.c - 664 sys sys 1124993753 22305
 sys/src/cmd/2c/sgen.c - 664 sys sys 1089299177 12738
-sys/src/cmd/2c/swt.c - 664 sys sys 1098463320 17170
-sys/src/cmd/2c/txt.c - 664 sys sys 944960718 17625
+sys/src/cmd/2c/swt.c - 664 sys sys 1132451401 17160
+sys/src/cmd/2c/txt.c - 664 sys sys 1132451401 17847
 sys/src/cmd/2l - 20000000775 sys sys 954035020 0
 sys/src/cmd/2l/asm.c - 664 sys sys 1045503932 28491
 sys/src/cmd/2l/compat.c - 664 sys sys 946595431 465
@@ -9181,7 +9189,7 @@ sys/src/cmd/7l/mkfile - 774 sys sys 944961629 360
 sys/src/cmd/7l/noop.c - 774 sys sys 1045503944 19495
 sys/src/cmd/7l/obj.c - 774 sys sys 1045503944 23202
 sys/src/cmd/7l/optab.c - 774 sys sys 944961630 5087
-sys/src/cmd/7l/pass.c - 774 sys sys 1045503945 8694
+sys/src/cmd/7l/pass.c - 774 sys sys 1132450430 8676
 sys/src/cmd/7l/sched.c - 774 sys sys 944961630 244
 sys/src/cmd/7l/span.c - 774 sys sys 1045503946 12041
 sys/src/cmd/8a - 20000000775 sys sys 944960730 0
@@ -9220,7 +9228,7 @@ sys/src/cmd/8l/optab.c - 664 sys sys 1111156413 16231
 sys/src/cmd/8l/pass.c - 664 sys sys 1095107668 13675
 sys/src/cmd/8l/span.c - 664 sys sys 1107721554 23294
 sys/src/cmd/9660srv - 20000000775 sys sys 944960735 0
-sys/src/cmd/9660srv/9660srv.c - 664 sys sys 1115039888 17143
+sys/src/cmd/9660srv/9660srv.c - 664 sys sys 1132451689 17151
 sys/src/cmd/9660srv/dat.h - 664 sys sys 1091904429 2097
 sys/src/cmd/9660srv/data.c - 664 sys sys 944960735 373
 sys/src/cmd/9660srv/fns.h - 664 sys sys 1019425186 428
@@ -9518,7 +9526,7 @@ sys/src/cmd/aux/clog.c - 664 sys sys 1014925109 1000
 sys/src/cmd/aux/consolefs.c - 664 sys sys 1123094543 20187
 sys/src/cmd/aux/conswdir.c - 664 sys sys 1045504955 2077
 sys/src/cmd/aux/data2s.c - 664 sys sys 1032059295 796
-sys/src/cmd/aux/depend.c - 664 sys sys 1130423994 25786
+sys/src/cmd/aux/depend.c - 664 sys sys 1132451758 25875
 sys/src/cmd/aux/disksim.c - 664 sys sys 1073852076 10914
 sys/src/cmd/aux/flashfs - 20000000775 sys sys 1015009082 0
 sys/src/cmd/aux/flashfs/aux.c - 664 sys sys 1015009080 699
@@ -9724,8 +9732,8 @@ sys/src/cmd/cc/cc.y - 664 sys sys 1076969746 15801
 sys/src/cmd/cc/com.c - 664 sys sys 1089299183 18909
 sys/src/cmd/cc/com64.c - 664 sys sys 1089299182 9975
 sys/src/cmd/cc/compat - 664 sys sys 1014925177 684
-sys/src/cmd/cc/compat.c - 664 sys sys 1084472048 417
-sys/src/cmd/cc/dcl.c - 664 sys sys 1089299183 26723
+sys/src/cmd/cc/compat.c - 664 sys sys 1132451523 454
+sys/src/cmd/cc/dcl.c - 664 sys sys 1132451524 26833
 sys/src/cmd/cc/dpchk.c - 664 sys sys 1107365037 7152
 sys/src/cmd/cc/funct.c - 664 sys sys 984718510 6167
 sys/src/cmd/cc/lex.c - 664 sys sys 1131293446 23883
@@ -10066,7 +10074,7 @@ sys/src/cmd/fossil/error.h - 664 sys sys 1073851928 796
 sys/src/cmd/fossil/file.c - 664 sys sys 1087005595 29946
 sys/src/cmd/fossil/flchk.c - 664 sys sys 1087005592 1771
 sys/src/cmd/fossil/flfmt.c - 664 sys sys 1080586881 10753
-sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1080586883 12314
+sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1132451844 12318
 sys/src/cmd/fossil/flfmt9660.h - 664 sys sys 1072830621 134
 sys/src/cmd/fossil/flproto - 664 sys sys 1042005508 210
 sys/src/cmd/fossil/fns.h - 664 sys sys 1087005596 3204
@@ -11883,7 +11891,7 @@ sys/src/cmd/gzip/zip.h - 664 sys sys 954778719 1428
 sys/src/cmd/hget.c - 664 sys sys 1130423854 25846
 sys/src/cmd/history.c - 664 sys sys 1121977159 6052
 sys/src/cmd/hoc - 20000000775 sys sys 954036932 0
-sys/src/cmd/hoc/code.c - 664 sys sys 944961000 10041
+sys/src/cmd/hoc/code.c - 664 sys sys 1132451870 10050
 sys/src/cmd/hoc/hoc.h - 664 sys sys 944960999 2358
 sys/src/cmd/hoc/hoc.y - 664 sys sys 984718583 9640
 sys/src/cmd/hoc/init.c - 664 sys sys 944960999 1441
@@ -12127,7 +12135,7 @@ sys/src/cmd/kl/mkfile - 664 sys sys 944961015 258
 sys/src/cmd/kl/noop.c - 664 sys sys 1045503968 11140
 sys/src/cmd/kl/obj.c - 664 sys sys 1089299170 21649
 sys/src/cmd/kl/optab.c - 664 sys sys 1105798985 7369
-sys/src/cmd/kl/pass.c - 664 sys sys 1045503969 9348
+sys/src/cmd/kl/pass.c - 664 sys sys 1132451576 9340
 sys/src/cmd/kl/sched.c - 664 sys sys 1089299170 10796
 sys/src/cmd/kl/span.c - 664 sys sys 1045503970 10146
 sys/src/cmd/kprof.c - 664 sys sys 1123244004 2550
@@ -12244,7 +12252,7 @@ sys/src/cmd/mkone - 664 sys sys 1123943673 910
 sys/src/cmd/mksyslib - 664 sys sys 1022112160 660
 sys/src/cmd/mntgen.c - 664 sys sys 1106410349 3630
 sys/src/cmd/mount.c - 664 sys sys 1034195354 1508
-sys/src/cmd/ms2html.c - 664 sys sys 1121977162 40506
+sys/src/cmd/ms2html.c - 664 sys sys 1132452054 41032
 sys/src/cmd/mtime.c - 664 sys sys 1036172302 450
 sys/src/cmd/mv.c - 664 sys sys 1126278115 4241
 sys/src/cmd/ndb - 20000000775 sys sys 988249988 0
@@ -12679,10 +12687,10 @@ sys/src/cmd/ql/mkfile - 664 sys sys 1089299166 304
 sys/src/cmd/ql/noop.c - 664 sys sys 1089299167 8982
 sys/src/cmd/ql/obj.c - 664 sys sys 1089299167 25301
 sys/src/cmd/ql/optab.c - 664 sys sys 1089299167 13392
-sys/src/cmd/ql/pass.c - 664 sys sys 1089299168 11868
+sys/src/cmd/ql/pass.c - 664 sys sys 1132450403 11861
 sys/src/cmd/ql/sched.c - 664 sys sys 1089299166 12776
 sys/src/cmd/ql/span.c - 664 sys sys 1089299167 19882
-sys/src/cmd/ramfs.c - 664 sys sys 1127393035 15950
+sys/src/cmd/ramfs.c - 664 sys sys 1132415785 15915
 sys/src/cmd/ratfs - 20000000775 sys sys 1016943965 0
 sys/src/cmd/ratfs/ctlfiles.c - 664 sys sys 1016943964 6694
 sys/src/cmd/ratfs/main.c - 664 sys sys 1016943964 6516
@@ -12703,13 +12711,13 @@ sys/src/cmd/rc/glob.c - 664 sys sys 1055698770 4540
 sys/src/cmd/rc/havefork.c - 664 sys sys 1055698771 3473
 sys/src/cmd/rc/haventfork.c - 664 sys sys 1055698771 3122
 sys/src/cmd/rc/here.c - 664 sys sys 1055698771 2497
-sys/src/cmd/rc/io.c - 664 sys sys 1055698773 3623
-sys/src/cmd/rc/io.h - 664 sys sys 944961082 532
+sys/src/cmd/rc/io.c - 664 sys sys 1132448641 3752
+sys/src/cmd/rc/io.h - 664 sys sys 1132448641 535
 sys/src/cmd/rc/lex.c - 664 sys sys 1100894085 6100
 sys/src/cmd/rc/mkfile - 664 sys sys 1055698774 812
 sys/src/cmd/rc/pcmd.c - 664 sys sys 1100894086 2681
 sys/src/cmd/rc/pfnc.c - 664 sys sys 1100894087 1320
-sys/src/cmd/rc/plan9.c - 664 sys sys 1114188140 9332
+sys/src/cmd/rc/plan9.c - 664 sys sys 1132448642 9330
 sys/src/cmd/rc/rc.h - 664 sys sys 1100894086 3329
 sys/src/cmd/rc/simple.c - 664 sys sys 1055698777 8993
 sys/src/cmd/rc/subr.c - 664 sys sys 1055698779 1206
@@ -12718,7 +12726,7 @@ sys/src/cmd/rc/trap.c - 664 sys sys 1055698780 871
 sys/src/cmd/rc/tree.c - 664 sys sys 1055698780 2071
 sys/src/cmd/rc/unix.c - 664 sys sys 1055698781 8726
 sys/src/cmd/rc/var.c - 664 sys sys 1055698781 1298
-sys/src/cmd/rc/win32.c - 664 sys sys 1055698781 8699
+sys/src/cmd/rc/win32.c - 664 sys sys 1132448675 8697
 sys/src/cmd/rdbfs.c - 664 sys sys 1131289483 7964
 sys/src/cmd/read.c - 664 sys sys 1022047660 1278
 sys/src/cmd/replica - 20000000775 sys sys 1018321113 0
@@ -12754,24 +12762,24 @@ sys/src/cmd/sam - 20000000775 sys sys 944961629 0
 sys/src/cmd/sam/acid.lib - 664 sys sys 1127393265 1536
 sys/src/cmd/sam/address.c - 664 sys sys 944961628 3985
 sys/src/cmd/sam/buff.c - 664 sys sys 1014926937 5161
-sys/src/cmd/sam/cmd.c - 664 sys sys 1130423793 10758
+sys/src/cmd/sam/cmd.c - 664 sys sys 1132448975 10774
 sys/src/cmd/sam/disk.c - 664 sys sys 1014926938 1988
 sys/src/cmd/sam/error.c - 664 sys sys 1108939612 2222
 sys/src/cmd/sam/errors.h - 664 sys sys 944961628 695
 sys/src/cmd/sam/file.c - 664 sys sys 1045505553 11030
 sys/src/cmd/sam/io.c - 664 sys sys 1111181614 4688
-sys/src/cmd/sam/list.c - 664 sys sys 944961628 858
-sys/src/cmd/sam/mesg.c - 664 sys sys 1063854937 14046
+sys/src/cmd/sam/list.c - 664 sys sys 1132448975 1431
+sys/src/cmd/sam/mesg.c - 664 sys sys 1132448975 14291
 sys/src/cmd/sam/mesg.h - 664 sys sys 1111181613 3785
 sys/src/cmd/sam/mkfile - 664 sys sys 1111181613 429
 sys/src/cmd/sam/moveto.c - 664 sys sys 944961628 2698
-sys/src/cmd/sam/multi.c - 664 sys sys 944961628 1846
+sys/src/cmd/sam/multi.c - 664 sys sys 1132448976 1844
 sys/src/cmd/sam/parse.h - 664 sys sys 1130423794 1934
 sys/src/cmd/sam/plan9.c - 664 sys sys 1112535044 2303
-sys/src/cmd/sam/rasp.c - 664 sys sys 950104640 5618
+sys/src/cmd/sam/rasp.c - 664 sys sys 1132448976 5618
 sys/src/cmd/sam/regexp.c - 664 sys sys 944961629 15390
-sys/src/cmd/sam/sam.c - 664 sys sys 1111181614 12063
-sys/src/cmd/sam/sam.h - 664 sys sys 1112535045 9567
+sys/src/cmd/sam/sam.c - 664 sys sys 1132448976 12016
+sys/src/cmd/sam/sam.h - 664 sys sys 1132448977 9345
 sys/src/cmd/sam/shell.c - 664 sys sys 1121977163 3143
 sys/src/cmd/sam/string.c - 664 sys sys 944961629 2766
 sys/src/cmd/sam/sys.c - 664 sys sys 1014926939 745
@@ -12784,11 +12792,11 @@ sys/src/cmd/samterm/icons.c - 664 sys sys 1014926592 1627
 sys/src/cmd/samterm/io.c - 664 sys sys 1111181617 4227
 sys/src/cmd/samterm/main.c - 664 sys sys 1111181616 11442
 sys/src/cmd/samterm/menu.c - 664 sys sys 1045502822 6528
-sys/src/cmd/samterm/mesg.c - 664 sys sys 1106263089 12586
+sys/src/cmd/samterm/mesg.c - 664 sys sys 1132448977 12581
 sys/src/cmd/samterm/mkfile - 664 sys sys 1111181616 465
 sys/src/cmd/samterm/plan9.c - 664 sys sys 1111181617 4901
 sys/src/cmd/samterm/rasp.c - 664 sys sys 944961350 4433
-sys/src/cmd/samterm/samterm.h - 664 sys sys 1111181616 3773
+sys/src/cmd/samterm/samterm.h - 664 sys sys 1132448977 3773
 sys/src/cmd/samterm/scroll.c - 664 sys sys 1014926593 3302
 sys/src/cmd/samterm/syms - 664 sys sys 944961351 17698
 sys/src/cmd/scat - 20000000775 sys sys 964307379 0
@@ -13056,7 +13064,7 @@ sys/src/cmd/troff/unansi - 664 sys sys 944961294 1221
 sys/src/cmd/troff2html - 20000000775 sys sys 961257241 0
 sys/src/cmd/troff2html/chars.h - 664 sys sys 1105584129 3957
 sys/src/cmd/troff2html/mkfile - 664 sys sys 1105631961 242
-sys/src/cmd/troff2html/troff2html.c - 664 sys sys 1105631971 14160
+sys/src/cmd/troff2html/troff2html.c - 664 sys sys 1132450028 14280
 sys/src/cmd/tweak.c - 664 sys sys 1018721441 38987
 sys/src/cmd/unicode.c - 664 sys sys 944961351 1953
 sys/src/cmd/uniq.c - 664 sys sys 944961351 2236
@@ -13510,15 +13518,15 @@ sys/src/cmd/venti/conf.rc - 775 sys sys 1055707446 1416
 sys/src/cmd/venti/config.c - 664 sys sys 1063854193 4956
 sys/src/cmd/venti/conv.c - 664 sys sys 1019678878 8202
 sys/src/cmd/venti/copy.c - 664 sys sys 1055707434 3517
-sys/src/cmd/venti/dat.h - 664 sys sys 1091904425 15321
+sys/src/cmd/venti/dat.h - 664 sys sys 1132452191 15346
 sys/src/cmd/venti/dcache.c - 664 sys sys 1019678878 7374
 sys/src/cmd/venti/dump.c - 664 sys sys 1068520313 1578
 sys/src/cmd/venti/dumparena.c - 664 sys sys 1019678878 6381
 sys/src/cmd/venti/dumpvacroots - 775 sys sys 1044904736 467
 sys/src/cmd/venti/findscore.c - 664 sys sys 1121977913 2605
-sys/src/cmd/venti/fmtarenas.c - 664 sys sys 1055707424 2177
+sys/src/cmd/venti/fmtarenas.c - 664 sys sys 1132452192 2213
 sys/src/cmd/venti/fmtindex.c - 664 sys sys 1055707425 2534
-sys/src/cmd/venti/fmtisect.c - 664 sys sys 1021579998 1290
+sys/src/cmd/venti/fmtisect.c - 664 sys sys 1132452192 1326
 sys/src/cmd/venti/fns.h - 664 sys sys 1055707422 6793
 sys/src/cmd/venti/httpd.c - 664 sys sys 1045503654 9107
 sys/src/cmd/venti/icache.c - 664 sys sys 1091904425 3974
@@ -13558,7 +13566,7 @@ sys/src/cmd/venti/write.c - 664 sys sys 1036470214 1051
 sys/src/cmd/venti/wrtape - 775 sys sys 1019678881 555
 sys/src/cmd/venti/xml.c - 664 sys sys 1091904425 2183
 sys/src/cmd/venti/xml.h - 664 sys sys 1019678881 450
-sys/src/cmd/venti/zeropart.c - 664 sys sys 1019678882 602
+sys/src/cmd/venti/zeropart.c - 664 sys sys 1132452194 877
 sys/src/cmd/vi - 20000000775 sys sys 944961342 0
 sys/src/cmd/vi/bpt.c - 664 sys sys 944961341 2216
 sys/src/cmd/vi/cmd.c - 664 sys sys 944961342 9150
@@ -13582,17 +13590,17 @@ sys/src/cmd/vl/mkfile - 664 sys sys 944961342 372
 sys/src/cmd/vl/noop.c - 664 sys sys 944961342 7349
 sys/src/cmd/vl/obj.c - 664 sys sys 1089299164 23039
 sys/src/cmd/vl/optab.c - 664 sys sys 944961342 8973
-sys/src/cmd/vl/pass.c - 664 sys sys 1045503976 8714
+sys/src/cmd/vl/pass.c - 664 sys sys 1132449538 8706
 sys/src/cmd/vl/sched.c - 664 sys sys 1014936060 11363
 sys/src/cmd/vl/span.c - 664 sys sys 1045503977 12015
 sys/src/cmd/vnc - 20000000775 sys sys 1014926000 0
 sys/src/cmd/vnc/auth.c - 664 sys sys 1044880749 4245
 sys/src/cmd/vnc/chan.c - 664 sys sys 1044880749 2624
 sys/src/cmd/vnc/color.c - 664 sys sys 1044880749 3088
-sys/src/cmd/vnc/compat.c - 664 sys sys 1044880749 3122
+sys/src/cmd/vnc/compat.c - 664 sys sys 1132454890 3122
 sys/src/cmd/vnc/compat.h - 664 sys sys 1047512521 3425
 sys/src/cmd/vnc/dev.c - 664 sys sys 1044880749 5496
-sys/src/cmd/vnc/devcons.c - 664 sys sys 1131801747 6806
+sys/src/cmd/vnc/devcons.c - 664 sys sys 1132456488 6786
 sys/src/cmd/vnc/devdraw.c - 664 sys sys 1044880749 42068
 sys/src/cmd/vnc/devmouse.c - 664 sys sys 1091816253 7389
 sys/src/cmd/vnc/draw.c - 664 sys sys 1044880749 6974
@@ -13630,7 +13638,7 @@ sys/src/cmd/vt/mkfile - 664 sys sys 944961620 159
 sys/src/cmd/vt/termcap - 664 sys sys 944961620 278
 sys/src/cmd/vt/vt.c - 664 sys sys 1014926857 16841
 sys/src/cmd/wc.c - 664 sys sys 984717764 12652
-sys/src/cmd/webcookies.c - 664 sys sys 1068411571 23687
+sys/src/cmd/webcookies.c - 664 sys sys 1132449468 23687
 sys/src/cmd/webfs - 20000000775 sys sys 1015015823 0
 sys/src/cmd/webfs/buf.c - 664 sys sys 1032665987 1198
 sys/src/cmd/webfs/client.c - 664 sys sys 1130422711 6818
@@ -13869,7 +13877,7 @@ sys/src/lib9p - 20000000775 sys sys 1015023311 0
 sys/src/lib9p/_post.c - 664 sys sys 1103565871 1642
 sys/src/lib9p/dirread.c - 664 sys sys 1015023310 641
 sys/src/lib9p/fid.c - 664 sys sys 1089299187 1066
-sys/src/lib9p/file.c - 664 sys sys 1132336580 6695
+sys/src/lib9p/file.c - 664 sys sys 1132447639 6651
 sys/src/lib9p/ftest.c - 664 sys sys 1015023310 502
 sys/src/lib9p/intmap.c - 664 sys sys 1016833881 2255
 sys/src/lib9p/mem.c - 664 sys sys 1015023310 765
@@ -14042,6 +14050,7 @@ sys/src/libc/68020/68881/sqrt.s - 664 sys sys 944961711 42
 sys/src/libc/68020/68881/tan.s - 664 sys sys 944961711 40
 sys/src/libc/68020/68881/tanh.s - 664 sys sys 944961711 42
 sys/src/libc/68020/argv0.s - 664 sys sys 1067722826 88
+sys/src/libc/68020/getcallerpc.s - 664 sys sys 1132449270 50
 sys/src/libc/68020/getfcr.s - 664 sys sys 944961711 229
 sys/src/libc/68020/main9.s - 664 sys sys 1067722824 355
 sys/src/libc/68020/main9p.s - 664 sys sys 1067722816 605
@@ -14051,7 +14060,7 @@ sys/src/libc/68020/memcmp.s - 664 sys sys 944961711 196
 sys/src/libc/68020/memcpy.s - 664 sys sys 944961711 1209
 sys/src/libc/68020/memmove.s - 664 sys sys 944961711 1216
 sys/src/libc/68020/memset.s - 664 sys sys 944961711 558
-sys/src/libc/68020/mkfile - 664 sys sys 1067723172 615
+sys/src/libc/68020/mkfile - 664 sys sys 1132449285 632
 sys/src/libc/68020/notejmp.c - 664 sys sys 944961711 282
 sys/src/libc/68020/scale.s - 664 sys sys 944961711 67
 sys/src/libc/68020/setjmp.s - 664 sys sys 944961711 284
@@ -14142,12 +14151,13 @@ sys/src/libc/arm/argv0.s - 664 sys sys 1067719006 88
 sys/src/libc/arm/cycles.c - 664 sys sys 1067719006 71
 sys/src/libc/arm/div.s - 664 sys sys 944961713 1639
 sys/src/libc/arm/doprint.xc - 664 sys sys 944961713 8554
+sys/src/libc/arm/getcallerpc.s - 664 sys sys 1132449120 48
 sys/src/libc/arm/getfcr.s - 664 sys sys 1014927272 104
 sys/src/libc/arm/main9.s - 664 sys sys 1067719007 489
 sys/src/libc/arm/main9p.s - 664 sys sys 1067719007 745
 sys/src/libc/arm/memmove.s - 664 sys sys 944961714 4391
 sys/src/libc/arm/memset.s - 664 sys sys 984709513 1057
-sys/src/libc/arm/mkfile - 664 sys sys 1067719008 385
+sys/src/libc/arm/mkfile - 664 sys sys 1132449109 402
 sys/src/libc/arm/notejmp.c - 664 sys sys 984709513 223
 sys/src/libc/arm/setjmp.s - 664 sys sys 984709513 367
 sys/src/libc/arm/strchr.s - 664 sys sys 984709513 841
@@ -14348,6 +14358,7 @@ sys/src/libc/power/vlop.s - 664 sys sys 944961720 224
 sys/src/libc/power/vlrt.c - 664 sys sys 1067719060 9023
 sys/src/libc/sparc - 20000000775 sys sys 984709928 0
 sys/src/libc/sparc/argv0.s - 664 sys sys 1067722827 88
+sys/src/libc/sparc/getcallerpc.s - 664 sys sys 1132449295 49
 sys/src/libc/sparc/getfcr.s - 664 sys sys 944961720 335
 sys/src/libc/sparc/main9.s - 664 sys sys 1067722825 537
 sys/src/libc/sparc/main9p.s - 664 sys sys 1067722817 749
@@ -14356,7 +14367,7 @@ sys/src/libc/sparc/memchr.s - 664 sys sys 944961720 275
 sys/src/libc/sparc/memcmp.s - 664 sys sys 944961720 1705
 sys/src/libc/sparc/memmove.s - 664 sys sys 944961720 2282
 sys/src/libc/sparc/memset.s - 664 sys sys 944961720 1282
-sys/src/libc/sparc/mkfile - 664 sys sys 1067723173 434
+sys/src/libc/sparc/mkfile - 664 sys sys 1132449305 451
 sys/src/libc/sparc/muldivrt.s - 664 sys sys 984709428 5379
 sys/src/libc/sparc/notejmp.c - 664 sys sys 944961720 401
 sys/src/libc/sparc/setjmp.s - 664 sys sys 944961720 432
@@ -14527,7 +14538,7 @@ sys/src/libip/myetheraddr.c - 664 sys sys 1066515138 837
 sys/src/libip/myipaddr.c - 664 sys sys 1069766545 841
 sys/src/libip/parseether.c - 664 sys sys 944961726 318
 sys/src/libip/parseip.c - 664 sys sys 950104689 2130
-sys/src/libip/ptclbsum.c - 664 sys sys 1014927943 1158
+sys/src/libip/ptclbsum.c - 664 sys sys 1132452948 1160
 sys/src/libip/readipifc.c - 664 sys sys 1032633396 4248
 sys/src/libip/testreadipifc.c - 664 sys sys 1021580003 400
 sys/src/liblex - 20000000775 sys sys 944961728 0

+ 95 - 84
dist/replica/plan9.db

@@ -23,7 +23,7 @@
 386/bin/acme - 775 sys sys 1131646633 428836
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1127360557 132862
-386/bin/ape/cc - 775 sys sys 1130594692 70329
+386/bin/ape/cc - 775 sys sys 1132418758 70437
 386/bin/ape/diff - 775 sys sys 1127360558 349757
 386/bin/ape/diff3 - 775 sys sys 1127360559 188245
 386/bin/ape/dirname - 775 sys sys 1127360559 132641
@@ -35,7 +35,7 @@
 386/bin/ape/sed - 775 sys sys 1127360562 158314
 386/bin/ape/sh - 775 sys sys 1127360563 477226
 386/bin/ape/stty - 775 sys sys 1130384232 41057
-386/bin/ape/tar - 775 sys sys 1130594693 61935
+386/bin/ape/tar - 775 sys sys 1132418759 61979
 386/bin/ape/uname - 775 sys sys 1127360563 132691
 386/bin/aquarela - 775 sys sys 1064598027 319170
 386/bin/ar - 775 sys sys 1131296672 111983
@@ -178,14 +178,14 @@
 386/bin/chgrp - 775 sys sys 1130594722 59317
 386/bin/chmod - 775 sys sys 1130594722 62313
 386/bin/cleanname - 775 sys sys 1130594722 58336
-386/bin/clock - 775 sys sys 1131646638 158259
+386/bin/clock - 775 sys sys 1132418759 158323
 386/bin/cmp - 775 sys sys 1130384270 40583
-386/bin/colors - 775 sys sys 1131646638 150553
+386/bin/colors - 775 sys sys 1132418760 150617
 386/bin/comm - 775 sys sys 1130594723 61383
 386/bin/con - 775 sys sys 1130594723 78243
 386/bin/cp - 775 sys sys 1130594723 63247
 386/bin/cpp - 775 sys sys 1130594724 149831
-386/bin/cpu - 775 sys sys 1130594724 139130
+386/bin/cpu - 775 sys sys 1132418760 139238
 386/bin/crop - 775 sys sys 1130594724 116040
 386/bin/date - 775 sys sys 1130384272 43279
 386/bin/db - 775 sys sys 1131302428 345503
@@ -226,7 +226,7 @@
 386/bin/factor - 775 sys sys 1130594733 61498
 386/bin/fcp - 775 sys sys 1131163702 82218
 386/bin/file - 775 sys sys 1131296674 121021
-386/bin/fmt - 775 sys sys 1130594733 65324
+386/bin/fmt - 775 sys sys 1132418760 65368
 386/bin/fortune - 775 sys sys 1130594734 67159
 386/bin/fossil - 20000000775 sys sys 1042005470 0
 386/bin/fossil/conf - 775 sys sys 1085077052 1506
@@ -264,10 +264,10 @@
 386/bin/grep - 775 sys sys 1130594743 79090
 386/bin/gs - 775 sys sys 1127360600 11125161
 386/bin/gunzip - 775 sys sys 1130594744 80307
-386/bin/gview - 775 sys sys 1131646642 238495
+386/bin/gview - 775 sys sys 1132418761 238559
 386/bin/gzip - 775 sys sys 1130594745 84785
 386/bin/hayes - 775 sys sys 1130594745 64588
-386/bin/hget - 775 sys sys 1130594746 233296
+386/bin/hget - 775 sys sys 1132418761 233404
 386/bin/history - 775 sys sys 1130594746 75389
 386/bin/hoc - 775 sys sys 1130594746 99898
 386/bin/html2ms - 775 sys sys 1130594747 66118
@@ -312,15 +312,15 @@
 386/bin/ip/udpecho - 775 sys sys 1130384306 43177
 386/bin/join - 775 sys sys 1130594758 114123
 386/bin/jpg - 775 sys sys 1131646643 174628
-386/bin/kbmap - 775 sys sys 1131646644 143598
+386/bin/kbmap - 775 sys sys 1132418762 143662
 386/bin/kprof - 775 sys sys 1131296675 105507
 386/bin/ktrace - 775 sys sys 1131296675 121949
-386/bin/lens - 775 sys sys 1131646644 150695
+386/bin/lens - 775 sys sys 1132418762 150759
 386/bin/lex - 775 sys sys 1130594760 98687
 386/bin/lnfs - 775 sys sys 1130594760 99472
 386/bin/look - 775 sys sys 1130594760 65573
 386/bin/ls - 775 sys sys 1130594760 82503
-386/bin/mc - 775 sys sys 1131646644 133843
+386/bin/mc - 775 sys sys 1132418762 133951
 386/bin/md5sum - 775 sys sys 1130594761 61297
 386/bin/mk - 775 sys sys 1131302428 144690
 386/bin/mkdir - 775 sys sys 1130594761 60996
@@ -344,8 +344,8 @@
 386/bin/ndb/query - 775 sys sys 1130594767 83073
 386/bin/netkey - 775 sys sys 1130594767 72339
 386/bin/netstat - 775 sys sys 1130594767 84696
-386/bin/news - 775 sys sys 1130594767 71692
-386/bin/nfs - 775 sys sys 1130731913 315832
+386/bin/news - 775 sys sys 1132418762 71736
+386/bin/nfs - 775 sys sys 1132418763 315896
 386/bin/nm - 775 sys sys 1131296675 125784
 386/bin/nntpfs - 775 sys sys 1130731914 161341
 386/bin/ns - 775 sys sys 1130594769 65283
@@ -354,7 +354,7 @@
 386/bin/paqfs - 775 sys sys 1130594770 107581
 386/bin/passwd - 775 sys sys 1130594770 83779
 386/bin/pbd - 775 sys sys 1085077087 4661
-386/bin/pcc - 775 sys sys 1130594771 67838
+386/bin/pcc - 775 sys sys 1132418763 67946
 386/bin/pic - 775 sys sys 1127360603 305710
 386/bin/pipefile - 775 sys sys 1130384320 39414
 386/bin/plot - 775 sys sys 1131646646 222284
@@ -362,14 +362,14 @@
 386/bin/plumber - 775 sys sys 1130594772 169886
 386/bin/png - 775 sys sys 1131646646 164272
 386/bin/ppm - 775 sys sys 1131646646 149447
-386/bin/pr - 775 sys sys 1130594773 77431
+386/bin/pr - 775 sys sys 1132418764 77495
 386/bin/primes - 775 sys sys 1130384322 38811
-386/bin/prof - 775 sys sys 1131296676 110924
+386/bin/prof - 775 sys sys 1132418764 110968
 386/bin/proof - 775 sys sys 1131646647 178692
 386/bin/ps - 775 sys sys 1130594774 68017
 386/bin/pwd - 775 sys sys 1130384323 36915
-386/bin/ramfs - 775 sys sys 1130594775 89854
-386/bin/rc - 775 sys sys 1130594775 143258
+386/bin/ramfs - 775 sys sys 1132418764 89820
+386/bin/rc - 775 sys sys 1132448643 143275
 386/bin/rdbfs - 775 sys sys 1130731914 168823
 386/bin/read - 775 sys sys 1130594776 58078
 386/bin/replica - 20000000775 sys sys 1018321168 0
@@ -402,16 +402,16 @@
 386/bin/sort - 775 sys sys 1130594784 82308
 386/bin/spin - 775 sys sys 1127360605 758519
 386/bin/split - 775 sys sys 1130594784 75667
-386/bin/srv - 775 sys sys 1130594785 82419
+386/bin/srv - 775 sys sys 1132418764 82481
 386/bin/srvfs - 775 sys sys 1130384335 40083
 386/bin/srvold9p - 775 sys sys 1130594785 130225
 386/bin/ssh - 775 sys sys 1130594786 211205
 386/bin/sshnet - 775 sys sys 1130731916 283308
-386/bin/stats - 775 sys sys 1131646648 190560
+386/bin/stats - 775 sys sys 1132418765 190670
 386/bin/strings - 775 sys sys 1130594787 62147
 386/bin/strip - 775 sys sys 1131296676 80766
 386/bin/sum - 775 sys sys 1130384338 39488
-386/bin/swap - 775 sys sys 1130594787 62126
+386/bin/swap - 775 sys sys 1132418765 62170
 386/bin/syscall - 775 sys sys 1130594788 73568
 386/bin/tail - 775 sys sys 1130594788 66201
 386/bin/tar - 775 sys sys 1131901139 97061
@@ -422,19 +422,19 @@
 386/bin/telnet - 775 sys sys 1130594789 80387
 386/bin/test - 775 sys sys 1130594789 69885
 386/bin/time - 775 sys sys 1130594789 61418
-386/bin/tlsclient - 775 sys sys 1130594790 198434
-386/bin/tlssrv - 775 sys sys 1130594790 198672
+386/bin/tlsclient - 775 sys sys 1132418765 198498
+386/bin/tlssrv - 775 sys sys 1132418766 198736
 386/bin/togif - 775 sys sys 1131646649 189866
 386/bin/toico - 775 sys sys 1131646649 123673
 386/bin/topng - 775 sys sys 1130594792 138351
 386/bin/toppm - 775 sys sys 1131646650 165250
 386/bin/touch - 775 sys sys 1130594792 63795
-386/bin/tprof - 775 sys sys 1131296677 297344
+386/bin/tprof - 775 sys sys 1132418766 297408
 386/bin/tr - 775 sys sys 1130594793 61883
-386/bin/trace - 775 sys sys 1131646650 181055
+386/bin/trace - 775 sys sys 1132418767 181163
 386/bin/troff - 775 sys sys 1127360609 357940
 386/bin/troff2html - 775 sys sys 1130594794 85723
-386/bin/tweak - 775 sys sys 1131646650 192831
+386/bin/tweak - 775 sys sys 1132418767 192895
 386/bin/unicode - 775 sys sys 1130594795 62546
 386/bin/uniq - 775 sys sys 1130594795 61923
 386/bin/units - 775 sys sys 1130594795 75273
@@ -502,11 +502,11 @@
 386/bin/vt - 775 sys sys 1131646652 173951
 386/bin/vtdump - 775 sys sys 1130594815 159490
 386/bin/wc - 775 sys sys 1130384372 41174
-386/bin/webcookies - 775 sys sys 1130731916 161948
+386/bin/webcookies - 775 sys sys 1132418768 161992
 386/bin/webfs - 775 sys sys 1130731917 354210
 386/bin/webfsget - 775 sys sys 1130384374 39161
 386/bin/wikifs - 775 sys sys 1130731918 202793
-386/bin/winwatch - 775 sys sys 1131646652 154846
+386/bin/winwatch - 775 sys sys 1132418768 154910
 386/bin/xd - 775 sys sys 1130594817 64076
 386/bin/xmr - 775 sys sys 1130384375 40175
 386/bin/xms - 775 sys sys 1130384375 40753
@@ -541,7 +541,7 @@
 386/lib/libauthsrv.a - 664 sys sys 1117249746 34098
 386/lib/libbin.a - 664 sys sys 1115950150 2534
 386/lib/libbio.a - 664 sys sys 1125346045 26064
-386/lib/libc.a - 664 sys sys 1130594821 502572
+386/lib/libc.a - 664 sys sys 1132418770 502902
 386/lib/libcomplete.a - 664 sys sys 1115950151 6370
 386/lib/libcontrol.a - 664 sys sys 1131646654 274922
 386/lib/libdisk.a - 664 sys sys 1126321691 42236
@@ -620,14 +620,14 @@ acme/acid/Acid - 775 sys sys 1015011246 86
 acme/acid/guide - 444 sys sys 1015011246 68
 acme/bin - 20000000775 sys sys 1017457907 0
 acme/bin/386 - 20000000775 sys sys 1015011570 0
-acme/bin/386/Mail - 775 sys sys 1130594819 179138
+acme/bin/386/Mail - 775 sys sys 1132418768 179246
 acme/bin/386/News - 775 sys sys 1130594819 128836
 acme/bin/386/Wiki - 775 sys sys 1130594819 127412
 acme/bin/386/acd - 775 sys sys 1032232412 137068
 acme/bin/386/adict - 775 sys sys 1015011247 99806
 acme/bin/386/mkwnew - 775 sys sys 1130384395 38977
 acme/bin/386/spout - 775 sys sys 1130594819 61640
-acme/bin/386/win - 775 sys sys 1130731918 179281
+acme/bin/386/win - 775 sys sys 1132418769 179325
 acme/bin/Battery - 775 sys sys 1017457907 451
 acme/bin/Isspam - 775 sys sys 1063951165 235
 acme/bin/Mail - 775 sys sys 1114697798 201
@@ -5766,7 +5766,7 @@ sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
 sys/games/lib/4scores - 10000000664 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000664 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1131110299 256627
+sys/games/lib/fortunes - 664 sys sys 1132452521 256595
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -6137,7 +6137,7 @@ sys/lib/dist/cmd/touchfs.c - 664 sys sys 1018469727 1120
 sys/lib/dist/cmd/unbflz.c - 664 sys sys 1018469727 1688
 sys/lib/dist/logcompress.awk - 664 sys sys 1068558028 298
 sys/lib/dist/logtime.awk - 664 sys sys 1019526213 38
-sys/lib/dist/mkfile - 664 sys sys 1127410222 4409
+sys/lib/dist/mkfile - 664 sys sys 1132452664 4522
 sys/lib/dist/pc - 20000000775 sys sys 1018721419 0
 sys/lib/dist/pc/cd0.proto - 664 sys sys 1114358485 7
 sys/lib/dist/pc/empty - 20000000775 sys sys 1018469720 0
@@ -6203,7 +6203,7 @@ sys/lib/dist/pc/inst/xxx - 775 sys sys 1018469719 160
 sys/lib/dist/pc/mkfile - 664 sys sys 1123094452 2158
 sys/lib/dist/pc/plan9.ini - 664 sys sys 1020361168 512
 sys/lib/dist/pc/plan9.ini.blank - 664 sys sys 1018469720 512
-sys/lib/dist/pc/plan9.ini.cd - 664 sys sys 1092148201 357
+sys/lib/dist/pc/plan9.ini.cd - 664 sys sys 1132452554 369
 sys/lib/dist/pc/plan9.ini.vmware - 664 sys sys 1045500078 168
 sys/lib/dist/pc/proto - 664 sys sys 1112535197 4250
 sys/lib/dist/pc/sub - 20000000775 sys sys 1018640631 0
@@ -6220,7 +6220,7 @@ sys/lib/dist/pc/sub/pci - 775 sys sys 1018469726 52
 sys/lib/dist/pc/sub/pwd - 664 sys sys 1018469726 59
 sys/lib/dist/pc/sub/ramfs - 775 sys sys 1063856126 48
 sys/lib/dist/pc/sub/sleep - 664 sys sys 1018469726 118
-sys/lib/dist/pc/sub/termrc - 664 sys sys 1126355274 2209
+sys/lib/dist/pc/sub/termrc - 664 sys sys 1132452603 2448
 sys/lib/dist/pc/sub/unmount - 664 sys sys 1018469726 46
 sys/lib/dist/pc/sub/users - 664 sys sys 1018469726 103
 sys/lib/dist/pc/sub/vmware - 775 sys sys 1033073493 132
@@ -7652,7 +7652,7 @@ sys/man/6/plumb - 664 sys sys 969499892 10918
 sys/man/6/regexp - 664 sys sys 954089523 2050
 sys/man/6/rewrite - 664 sys sys 969499892 3235
 sys/man/6/smtpd - 664 sys sys 971095216 8192
-sys/man/6/snap - 664 sys sys 954089530 2393
+sys/man/6/snap - 664 sys sys 1132452694 2402
 sys/man/6/thumbprint - 664 sys sys 1019866709 1124
 sys/man/6/users - 664 sys sys 1130912014 1392
 sys/man/6/utf - 664 sys sys 944959678 2430
@@ -7779,7 +7779,7 @@ sys/src/9/alphapc/mkfile - 664 sys sys 1109218102 1682
 sys/src/9/alphapc/mmu.c - 664 sys sys 1131538486 4981
 sys/src/9/alphapc/pci.c - 664 sys sys 1039753420 7868
 sys/src/9/alphapc/screen.h - 664 sys sys 1131289708 3818
-sys/src/9/alphapc/sd53c8xx.c - 664 sys sys 1131289709 50963
+sys/src/9/alphapc/sd53c8xx.c - 664 sys sys 1132448433 50964
 sys/src/9/alphapc/sio.c - 664 sys sys 1015012787 293
 sys/src/9/alphapc/trap.c - 664 sys sys 1105030177 18099
 sys/src/9/bitsy - 20000000775 sys sys 1018721429 0
@@ -7925,7 +7925,7 @@ sys/src/9/pc/devether.c - 664 sys sys 1131290265 10315
 sys/src/9/pc/devfloppy.c - 664 sys sys 1055689885 20024
 sys/src/9/pc/devi82365.c - 664 sys sys 1099761153 20505
 sys/src/9/pc/devlm78.c - 664 sys sys 1128255048 6291
-sys/src/9/pc/devlml.c - 664 sys sys 1131290276 7505
+sys/src/9/pc/devlml.c - 664 sys sys 1132448361 7502
 sys/src/9/pc/devlml.h - 664 sys sys 1026847636 2948
 sys/src/9/pc/devlpt.c - 664 sys sys 1015014514 4420
 sys/src/9/pc/devpccard.c - 664 sys sys 1131290281 40203
@@ -8363,20 +8363,26 @@ sys/src/ape/config - 664 sys sys 1014921996 573
 sys/src/ape/lib - 20000000775 sys sys 1014921994 0
 sys/src/ape/lib/9 - 20000000775 sys sys 1014921994 0
 sys/src/ape/lib/9/386 - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/386/getcallerpc.c - 664 sys sys 1132450766 76
 sys/src/ape/lib/9/386/getfcr.s - 664 sys sys 1014921994 256
 sys/src/ape/lib/9/68020 - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/68020/getcallerpc.s - 664 sys sys 1132450766 50
 sys/src/ape/lib/9/68020/getfcr.s - 664 sys sys 1014921994 229
 sys/src/ape/lib/9/alpha - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/alpha/getcallerpc.s - 664 sys sys 1132450766 48
 sys/src/ape/lib/9/alpha/getfcr.s - 664 sys sys 1014921994 816
 sys/src/ape/lib/9/arm - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/arm/getcallerpc.s - 664 sys sys 1132450767 48
 sys/src/ape/lib/9/arm/getfcr.s - 664 sys sys 1014921994 164
 sys/src/ape/lib/9/bind.c - 664 sys sys 1014921993 135
 sys/src/ape/lib/9/errstr.c - 664 sys sys 1014921993 134
 sys/src/ape/lib/9/mips - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/mips/getcallerpc.s - 664 sys sys 1132450767 47
 sys/src/ape/lib/9/mips/getfcr.s - 664 sys sys 1014921994 167
-sys/src/ape/lib/9/mkfile - 664 sys sys 1014921993 357
+sys/src/ape/lib/9/mkfile - 664 sys sys 1132450767 392
 sys/src/ape/lib/9/mount.c - 664 sys sys 1014921993 176
 sys/src/ape/lib/9/power - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/power/getcallerpc.s - 664 sys sys 1132450767 51
 sys/src/ape/lib/9/power/getfcr.s - 664 sys sys 1014921994 352
 sys/src/ape/lib/9/rendezvous.c - 664 sys sys 1014921993 186
 sys/src/ape/lib/9/rfork.c - 664 sys sys 1014921993 92
@@ -8385,7 +8391,9 @@ sys/src/ape/lib/9/segbrk.c - 664 sys sys 1014921993 124
 sys/src/ape/lib/9/segdetach.c - 664 sys sys 1014921993 108
 sys/src/ape/lib/9/segflush.c - 664 sys sys 1014921993 138
 sys/src/ape/lib/9/segfree.c - 664 sys sys 1014921993 136
+sys/src/ape/lib/9/setmalloctag.c - 664 sys sys 1132450767 44
 sys/src/ape/lib/9/sparc - 20000000775 sys sys 1014921994 0
+sys/src/ape/lib/9/sparc/getcallerpc.s - 664 sys sys 1132450767 49
 sys/src/ape/lib/9/sparc/getfcr.s - 664 sys sys 1014921994 335
 sys/src/ape/lib/9/unmount.c - 664 sys sys 1014921993 123
 sys/src/ape/lib/ap - 20000000775 sys sys 1014921991 0
@@ -9056,15 +9064,15 @@ sys/src/cmd/1c - 20000000775 sys sys 945321342 0
 sys/src/cmd/1c/bits.c - 664 sys sys 944961353 1370
 sys/src/cmd/1c/cgen.c - 664 sys sys 1089299179 28257
 sys/src/cmd/1c/enam.c - 664 sys sys 1089299179 4239
-sys/src/cmd/1c/gc.h - 664 sys sys 1114449033 6008
+sys/src/cmd/1c/gc.h - 664 sys sys 1132451333 6044
 sys/src/cmd/1c/list.c - 664 sys sys 1014926630 4507
 sys/src/cmd/1c/mkfile - 664 sys sys 944961353 264
 sys/src/cmd/1c/mul.c - 664 sys sys 944961353 2599
 sys/src/cmd/1c/peep.c - 664 sys sys 1089299178 15578
 sys/src/cmd/1c/reg.c - 664 sys sys 1124993748 21247
 sys/src/cmd/1c/sgen.c - 664 sys sys 1089299179 10853
-sys/src/cmd/1c/swt.c - 664 sys sys 1098463320 15417
-sys/src/cmd/1c/txt.c - 664 sys sys 944961353 16943
+sys/src/cmd/1c/swt.c - 664 sys sys 1132451340 15407
+sys/src/cmd/1c/txt.c - 664 sys sys 1132451346 17123
 sys/src/cmd/1l - 20000000775 sys sys 954038577 0
 sys/src/cmd/1l/asm.c - 664 sys sys 1089299178 27888
 sys/src/cmd/1l/compat.c - 664 sys sys 946595451 466
@@ -9086,16 +9094,16 @@ sys/src/cmd/2c - 20000000775 sys sys 954034944 0
 sys/src/cmd/2c/2.out.h - 664 sys sys 1120557091 5083
 sys/src/cmd/2c/bits.c - 664 sys sys 944960717 1370
 sys/src/cmd/2c/cgen.c - 664 sys sys 1089299176 28451
-sys/src/cmd/2c/enam.c - 664 sys sys 1089299176 4239
-sys/src/cmd/2c/gc.h - 664 sys sys 1114449040 6205
+sys/src/cmd/2c/enam.c - 664 sys sys 1132451400 4248
+sys/src/cmd/2c/gc.h - 664 sys sys 1132451401 6241
 sys/src/cmd/2c/list.c - 664 sys sys 1089299176 5521
 sys/src/cmd/2c/mkfile - 664 sys sys 944960717 258
 sys/src/cmd/2c/mul.c - 664 sys sys 944960717 2599
 sys/src/cmd/2c/peep.c - 664 sys sys 1089299176 15926
 sys/src/cmd/2c/reg.c - 664 sys sys 1124993753 22305
 sys/src/cmd/2c/sgen.c - 664 sys sys 1089299177 12738
-sys/src/cmd/2c/swt.c - 664 sys sys 1098463320 17170
-sys/src/cmd/2c/txt.c - 664 sys sys 944960718 17625
+sys/src/cmd/2c/swt.c - 664 sys sys 1132451401 17160
+sys/src/cmd/2c/txt.c - 664 sys sys 1132451401 17847
 sys/src/cmd/2l - 20000000775 sys sys 954035020 0
 sys/src/cmd/2l/asm.c - 664 sys sys 1045503932 28491
 sys/src/cmd/2l/compat.c - 664 sys sys 946595431 465
@@ -9181,7 +9189,7 @@ sys/src/cmd/7l/mkfile - 774 sys sys 944961629 360
 sys/src/cmd/7l/noop.c - 774 sys sys 1045503944 19495
 sys/src/cmd/7l/obj.c - 774 sys sys 1045503944 23202
 sys/src/cmd/7l/optab.c - 774 sys sys 944961630 5087
-sys/src/cmd/7l/pass.c - 774 sys sys 1045503945 8694
+sys/src/cmd/7l/pass.c - 774 sys sys 1132450430 8676
 sys/src/cmd/7l/sched.c - 774 sys sys 944961630 244
 sys/src/cmd/7l/span.c - 774 sys sys 1045503946 12041
 sys/src/cmd/8a - 20000000775 sys sys 944960730 0
@@ -9220,7 +9228,7 @@ sys/src/cmd/8l/optab.c - 664 sys sys 1111156413 16231
 sys/src/cmd/8l/pass.c - 664 sys sys 1095107668 13675
 sys/src/cmd/8l/span.c - 664 sys sys 1107721554 23294
 sys/src/cmd/9660srv - 20000000775 sys sys 944960735 0
-sys/src/cmd/9660srv/9660srv.c - 664 sys sys 1115039888 17143
+sys/src/cmd/9660srv/9660srv.c - 664 sys sys 1132451689 17151
 sys/src/cmd/9660srv/dat.h - 664 sys sys 1091904429 2097
 sys/src/cmd/9660srv/data.c - 664 sys sys 944960735 373
 sys/src/cmd/9660srv/fns.h - 664 sys sys 1019425186 428
@@ -9518,7 +9526,7 @@ sys/src/cmd/aux/clog.c - 664 sys sys 1014925109 1000
 sys/src/cmd/aux/consolefs.c - 664 sys sys 1123094543 20187
 sys/src/cmd/aux/conswdir.c - 664 sys sys 1045504955 2077
 sys/src/cmd/aux/data2s.c - 664 sys sys 1032059295 796
-sys/src/cmd/aux/depend.c - 664 sys sys 1130423994 25786
+sys/src/cmd/aux/depend.c - 664 sys sys 1132451758 25875
 sys/src/cmd/aux/disksim.c - 664 sys sys 1073852076 10914
 sys/src/cmd/aux/flashfs - 20000000775 sys sys 1015009082 0
 sys/src/cmd/aux/flashfs/aux.c - 664 sys sys 1015009080 699
@@ -9724,8 +9732,8 @@ sys/src/cmd/cc/cc.y - 664 sys sys 1076969746 15801
 sys/src/cmd/cc/com.c - 664 sys sys 1089299183 18909
 sys/src/cmd/cc/com64.c - 664 sys sys 1089299182 9975
 sys/src/cmd/cc/compat - 664 sys sys 1014925177 684
-sys/src/cmd/cc/compat.c - 664 sys sys 1084472048 417
-sys/src/cmd/cc/dcl.c - 664 sys sys 1089299183 26723
+sys/src/cmd/cc/compat.c - 664 sys sys 1132451523 454
+sys/src/cmd/cc/dcl.c - 664 sys sys 1132451524 26833
 sys/src/cmd/cc/dpchk.c - 664 sys sys 1107365037 7152
 sys/src/cmd/cc/funct.c - 664 sys sys 984718510 6167
 sys/src/cmd/cc/lex.c - 664 sys sys 1131293446 23883
@@ -10066,7 +10074,7 @@ sys/src/cmd/fossil/error.h - 664 sys sys 1073851928 796
 sys/src/cmd/fossil/file.c - 664 sys sys 1087005595 29946
 sys/src/cmd/fossil/flchk.c - 664 sys sys 1087005592 1771
 sys/src/cmd/fossil/flfmt.c - 664 sys sys 1080586881 10753
-sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1080586883 12314
+sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1132451844 12318
 sys/src/cmd/fossil/flfmt9660.h - 664 sys sys 1072830621 134
 sys/src/cmd/fossil/flproto - 664 sys sys 1042005508 210
 sys/src/cmd/fossil/fns.h - 664 sys sys 1087005596 3204
@@ -11883,7 +11891,7 @@ sys/src/cmd/gzip/zip.h - 664 sys sys 954778719 1428
 sys/src/cmd/hget.c - 664 sys sys 1130423854 25846
 sys/src/cmd/history.c - 664 sys sys 1121977159 6052
 sys/src/cmd/hoc - 20000000775 sys sys 954036932 0
-sys/src/cmd/hoc/code.c - 664 sys sys 944961000 10041
+sys/src/cmd/hoc/code.c - 664 sys sys 1132451870 10050
 sys/src/cmd/hoc/hoc.h - 664 sys sys 944960999 2358
 sys/src/cmd/hoc/hoc.y - 664 sys sys 984718583 9640
 sys/src/cmd/hoc/init.c - 664 sys sys 944960999 1441
@@ -12127,7 +12135,7 @@ sys/src/cmd/kl/mkfile - 664 sys sys 944961015 258
 sys/src/cmd/kl/noop.c - 664 sys sys 1045503968 11140
 sys/src/cmd/kl/obj.c - 664 sys sys 1089299170 21649
 sys/src/cmd/kl/optab.c - 664 sys sys 1105798985 7369
-sys/src/cmd/kl/pass.c - 664 sys sys 1045503969 9348
+sys/src/cmd/kl/pass.c - 664 sys sys 1132451576 9340
 sys/src/cmd/kl/sched.c - 664 sys sys 1089299170 10796
 sys/src/cmd/kl/span.c - 664 sys sys 1045503970 10146
 sys/src/cmd/kprof.c - 664 sys sys 1123244004 2550
@@ -12244,7 +12252,7 @@ sys/src/cmd/mkone - 664 sys sys 1123943673 910
 sys/src/cmd/mksyslib - 664 sys sys 1022112160 660
 sys/src/cmd/mntgen.c - 664 sys sys 1106410349 3630
 sys/src/cmd/mount.c - 664 sys sys 1034195354 1508
-sys/src/cmd/ms2html.c - 664 sys sys 1121977162 40506
+sys/src/cmd/ms2html.c - 664 sys sys 1132452054 41032
 sys/src/cmd/mtime.c - 664 sys sys 1036172302 450
 sys/src/cmd/mv.c - 664 sys sys 1126278115 4241
 sys/src/cmd/ndb - 20000000775 sys sys 988249988 0
@@ -12679,10 +12687,10 @@ sys/src/cmd/ql/mkfile - 664 sys sys 1089299166 304
 sys/src/cmd/ql/noop.c - 664 sys sys 1089299167 8982
 sys/src/cmd/ql/obj.c - 664 sys sys 1089299167 25301
 sys/src/cmd/ql/optab.c - 664 sys sys 1089299167 13392
-sys/src/cmd/ql/pass.c - 664 sys sys 1089299168 11868
+sys/src/cmd/ql/pass.c - 664 sys sys 1132450403 11861
 sys/src/cmd/ql/sched.c - 664 sys sys 1089299166 12776
 sys/src/cmd/ql/span.c - 664 sys sys 1089299167 19882
-sys/src/cmd/ramfs.c - 664 sys sys 1127393035 15950
+sys/src/cmd/ramfs.c - 664 sys sys 1132415785 15915
 sys/src/cmd/ratfs - 20000000775 sys sys 1016943965 0
 sys/src/cmd/ratfs/ctlfiles.c - 664 sys sys 1016943964 6694
 sys/src/cmd/ratfs/main.c - 664 sys sys 1016943964 6516
@@ -12703,13 +12711,13 @@ sys/src/cmd/rc/glob.c - 664 sys sys 1055698770 4540
 sys/src/cmd/rc/havefork.c - 664 sys sys 1055698771 3473
 sys/src/cmd/rc/haventfork.c - 664 sys sys 1055698771 3122
 sys/src/cmd/rc/here.c - 664 sys sys 1055698771 2497
-sys/src/cmd/rc/io.c - 664 sys sys 1055698773 3623
-sys/src/cmd/rc/io.h - 664 sys sys 944961082 532
+sys/src/cmd/rc/io.c - 664 sys sys 1132448641 3752
+sys/src/cmd/rc/io.h - 664 sys sys 1132448641 535
 sys/src/cmd/rc/lex.c - 664 sys sys 1100894085 6100
 sys/src/cmd/rc/mkfile - 664 sys sys 1055698774 812
 sys/src/cmd/rc/pcmd.c - 664 sys sys 1100894086 2681
 sys/src/cmd/rc/pfnc.c - 664 sys sys 1100894087 1320
-sys/src/cmd/rc/plan9.c - 664 sys sys 1114188140 9332
+sys/src/cmd/rc/plan9.c - 664 sys sys 1132448642 9330
 sys/src/cmd/rc/rc.h - 664 sys sys 1100894086 3329
 sys/src/cmd/rc/simple.c - 664 sys sys 1055698777 8993
 sys/src/cmd/rc/subr.c - 664 sys sys 1055698779 1206
@@ -12718,7 +12726,7 @@ sys/src/cmd/rc/trap.c - 664 sys sys 1055698780 871
 sys/src/cmd/rc/tree.c - 664 sys sys 1055698780 2071
 sys/src/cmd/rc/unix.c - 664 sys sys 1055698781 8726
 sys/src/cmd/rc/var.c - 664 sys sys 1055698781 1298
-sys/src/cmd/rc/win32.c - 664 sys sys 1055698781 8699
+sys/src/cmd/rc/win32.c - 664 sys sys 1132448675 8697
 sys/src/cmd/rdbfs.c - 664 sys sys 1131289483 7964
 sys/src/cmd/read.c - 664 sys sys 1022047660 1278
 sys/src/cmd/replica - 20000000775 sys sys 1018321113 0
@@ -12754,24 +12762,24 @@ sys/src/cmd/sam - 20000000775 sys sys 944961629 0
 sys/src/cmd/sam/acid.lib - 664 sys sys 1127393265 1536
 sys/src/cmd/sam/address.c - 664 sys sys 944961628 3985
 sys/src/cmd/sam/buff.c - 664 sys sys 1014926937 5161
-sys/src/cmd/sam/cmd.c - 664 sys sys 1130423793 10758
+sys/src/cmd/sam/cmd.c - 664 sys sys 1132448975 10774
 sys/src/cmd/sam/disk.c - 664 sys sys 1014926938 1988
 sys/src/cmd/sam/error.c - 664 sys sys 1108939612 2222
 sys/src/cmd/sam/errors.h - 664 sys sys 944961628 695
 sys/src/cmd/sam/file.c - 664 sys sys 1045505553 11030
 sys/src/cmd/sam/io.c - 664 sys sys 1111181614 4688
-sys/src/cmd/sam/list.c - 664 sys sys 944961628 858
-sys/src/cmd/sam/mesg.c - 664 sys sys 1063854937 14046
+sys/src/cmd/sam/list.c - 664 sys sys 1132448975 1431
+sys/src/cmd/sam/mesg.c - 664 sys sys 1132448975 14291
 sys/src/cmd/sam/mesg.h - 664 sys sys 1111181613 3785
 sys/src/cmd/sam/mkfile - 664 sys sys 1111181613 429
 sys/src/cmd/sam/moveto.c - 664 sys sys 944961628 2698
-sys/src/cmd/sam/multi.c - 664 sys sys 944961628 1846
+sys/src/cmd/sam/multi.c - 664 sys sys 1132448976 1844
 sys/src/cmd/sam/parse.h - 664 sys sys 1130423794 1934
 sys/src/cmd/sam/plan9.c - 664 sys sys 1112535044 2303
-sys/src/cmd/sam/rasp.c - 664 sys sys 950104640 5618
+sys/src/cmd/sam/rasp.c - 664 sys sys 1132448976 5618
 sys/src/cmd/sam/regexp.c - 664 sys sys 944961629 15390
-sys/src/cmd/sam/sam.c - 664 sys sys 1111181614 12063
-sys/src/cmd/sam/sam.h - 664 sys sys 1112535045 9567
+sys/src/cmd/sam/sam.c - 664 sys sys 1132448976 12016
+sys/src/cmd/sam/sam.h - 664 sys sys 1132448977 9345
 sys/src/cmd/sam/shell.c - 664 sys sys 1121977163 3143
 sys/src/cmd/sam/string.c - 664 sys sys 944961629 2766
 sys/src/cmd/sam/sys.c - 664 sys sys 1014926939 745
@@ -12784,11 +12792,11 @@ sys/src/cmd/samterm/icons.c - 664 sys sys 1014926592 1627
 sys/src/cmd/samterm/io.c - 664 sys sys 1111181617 4227
 sys/src/cmd/samterm/main.c - 664 sys sys 1111181616 11442
 sys/src/cmd/samterm/menu.c - 664 sys sys 1045502822 6528
-sys/src/cmd/samterm/mesg.c - 664 sys sys 1106263089 12586
+sys/src/cmd/samterm/mesg.c - 664 sys sys 1132448977 12581
 sys/src/cmd/samterm/mkfile - 664 sys sys 1111181616 465
 sys/src/cmd/samterm/plan9.c - 664 sys sys 1111181617 4901
 sys/src/cmd/samterm/rasp.c - 664 sys sys 944961350 4433
-sys/src/cmd/samterm/samterm.h - 664 sys sys 1111181616 3773
+sys/src/cmd/samterm/samterm.h - 664 sys sys 1132448977 3773
 sys/src/cmd/samterm/scroll.c - 664 sys sys 1014926593 3302
 sys/src/cmd/samterm/syms - 664 sys sys 944961351 17698
 sys/src/cmd/scat - 20000000775 sys sys 964307379 0
@@ -13056,7 +13064,7 @@ sys/src/cmd/troff/unansi - 664 sys sys 944961294 1221
 sys/src/cmd/troff2html - 20000000775 sys sys 961257241 0
 sys/src/cmd/troff2html/chars.h - 664 sys sys 1105584129 3957
 sys/src/cmd/troff2html/mkfile - 664 sys sys 1105631961 242
-sys/src/cmd/troff2html/troff2html.c - 664 sys sys 1105631971 14160
+sys/src/cmd/troff2html/troff2html.c - 664 sys sys 1132450028 14280
 sys/src/cmd/tweak.c - 664 sys sys 1018721441 38987
 sys/src/cmd/unicode.c - 664 sys sys 944961351 1953
 sys/src/cmd/uniq.c - 664 sys sys 944961351 2236
@@ -13510,15 +13518,15 @@ sys/src/cmd/venti/conf.rc - 775 sys sys 1055707446 1416
 sys/src/cmd/venti/config.c - 664 sys sys 1063854193 4956
 sys/src/cmd/venti/conv.c - 664 sys sys 1019678878 8202
 sys/src/cmd/venti/copy.c - 664 sys sys 1055707434 3517
-sys/src/cmd/venti/dat.h - 664 sys sys 1091904425 15321
+sys/src/cmd/venti/dat.h - 664 sys sys 1132452191 15346
 sys/src/cmd/venti/dcache.c - 664 sys sys 1019678878 7374
 sys/src/cmd/venti/dump.c - 664 sys sys 1068520313 1578
 sys/src/cmd/venti/dumparena.c - 664 sys sys 1019678878 6381
 sys/src/cmd/venti/dumpvacroots - 775 sys sys 1044904736 467
 sys/src/cmd/venti/findscore.c - 664 sys sys 1121977913 2605
-sys/src/cmd/venti/fmtarenas.c - 664 sys sys 1055707424 2177
+sys/src/cmd/venti/fmtarenas.c - 664 sys sys 1132452192 2213
 sys/src/cmd/venti/fmtindex.c - 664 sys sys 1055707425 2534
-sys/src/cmd/venti/fmtisect.c - 664 sys sys 1021579998 1290
+sys/src/cmd/venti/fmtisect.c - 664 sys sys 1132452192 1326
 sys/src/cmd/venti/fns.h - 664 sys sys 1055707422 6793
 sys/src/cmd/venti/httpd.c - 664 sys sys 1045503654 9107
 sys/src/cmd/venti/icache.c - 664 sys sys 1091904425 3974
@@ -13558,7 +13566,7 @@ sys/src/cmd/venti/write.c - 664 sys sys 1036470214 1051
 sys/src/cmd/venti/wrtape - 775 sys sys 1019678881 555
 sys/src/cmd/venti/xml.c - 664 sys sys 1091904425 2183
 sys/src/cmd/venti/xml.h - 664 sys sys 1019678881 450
-sys/src/cmd/venti/zeropart.c - 664 sys sys 1019678882 602
+sys/src/cmd/venti/zeropart.c - 664 sys sys 1132452194 877
 sys/src/cmd/vi - 20000000775 sys sys 944961342 0
 sys/src/cmd/vi/bpt.c - 664 sys sys 944961341 2216
 sys/src/cmd/vi/cmd.c - 664 sys sys 944961342 9150
@@ -13582,17 +13590,17 @@ sys/src/cmd/vl/mkfile - 664 sys sys 944961342 372
 sys/src/cmd/vl/noop.c - 664 sys sys 944961342 7349
 sys/src/cmd/vl/obj.c - 664 sys sys 1089299164 23039
 sys/src/cmd/vl/optab.c - 664 sys sys 944961342 8973
-sys/src/cmd/vl/pass.c - 664 sys sys 1045503976 8714
+sys/src/cmd/vl/pass.c - 664 sys sys 1132449538 8706
 sys/src/cmd/vl/sched.c - 664 sys sys 1014936060 11363
 sys/src/cmd/vl/span.c - 664 sys sys 1045503977 12015
 sys/src/cmd/vnc - 20000000775 sys sys 1014926000 0
 sys/src/cmd/vnc/auth.c - 664 sys sys 1044880749 4245
 sys/src/cmd/vnc/chan.c - 664 sys sys 1044880749 2624
 sys/src/cmd/vnc/color.c - 664 sys sys 1044880749 3088
-sys/src/cmd/vnc/compat.c - 664 sys sys 1044880749 3122
+sys/src/cmd/vnc/compat.c - 664 sys sys 1132454890 3122
 sys/src/cmd/vnc/compat.h - 664 sys sys 1047512521 3425
 sys/src/cmd/vnc/dev.c - 664 sys sys 1044880749 5496
-sys/src/cmd/vnc/devcons.c - 664 sys sys 1131801747 6806
+sys/src/cmd/vnc/devcons.c - 664 sys sys 1132456488 6786
 sys/src/cmd/vnc/devdraw.c - 664 sys sys 1044880749 42068
 sys/src/cmd/vnc/devmouse.c - 664 sys sys 1091816253 7389
 sys/src/cmd/vnc/draw.c - 664 sys sys 1044880749 6974
@@ -13630,7 +13638,7 @@ sys/src/cmd/vt/mkfile - 664 sys sys 944961620 159
 sys/src/cmd/vt/termcap - 664 sys sys 944961620 278
 sys/src/cmd/vt/vt.c - 664 sys sys 1014926857 16841
 sys/src/cmd/wc.c - 664 sys sys 984717764 12652
-sys/src/cmd/webcookies.c - 664 sys sys 1068411571 23687
+sys/src/cmd/webcookies.c - 664 sys sys 1132449468 23687
 sys/src/cmd/webfs - 20000000775 sys sys 1015015823 0
 sys/src/cmd/webfs/buf.c - 664 sys sys 1032665987 1198
 sys/src/cmd/webfs/client.c - 664 sys sys 1130422711 6818
@@ -13869,7 +13877,7 @@ sys/src/lib9p - 20000000775 sys sys 1015023311 0
 sys/src/lib9p/_post.c - 664 sys sys 1103565871 1642
 sys/src/lib9p/dirread.c - 664 sys sys 1015023310 641
 sys/src/lib9p/fid.c - 664 sys sys 1089299187 1066
-sys/src/lib9p/file.c - 664 sys sys 1132336580 6695
+sys/src/lib9p/file.c - 664 sys sys 1132447639 6651
 sys/src/lib9p/ftest.c - 664 sys sys 1015023310 502
 sys/src/lib9p/intmap.c - 664 sys sys 1016833881 2255
 sys/src/lib9p/mem.c - 664 sys sys 1015023310 765
@@ -14042,6 +14050,7 @@ sys/src/libc/68020/68881/sqrt.s - 664 sys sys 944961711 42
 sys/src/libc/68020/68881/tan.s - 664 sys sys 944961711 40
 sys/src/libc/68020/68881/tanh.s - 664 sys sys 944961711 42
 sys/src/libc/68020/argv0.s - 664 sys sys 1067722826 88
+sys/src/libc/68020/getcallerpc.s - 664 sys sys 1132449270 50
 sys/src/libc/68020/getfcr.s - 664 sys sys 944961711 229
 sys/src/libc/68020/main9.s - 664 sys sys 1067722824 355
 sys/src/libc/68020/main9p.s - 664 sys sys 1067722816 605
@@ -14051,7 +14060,7 @@ sys/src/libc/68020/memcmp.s - 664 sys sys 944961711 196
 sys/src/libc/68020/memcpy.s - 664 sys sys 944961711 1209
 sys/src/libc/68020/memmove.s - 664 sys sys 944961711 1216
 sys/src/libc/68020/memset.s - 664 sys sys 944961711 558
-sys/src/libc/68020/mkfile - 664 sys sys 1067723172 615
+sys/src/libc/68020/mkfile - 664 sys sys 1132449285 632
 sys/src/libc/68020/notejmp.c - 664 sys sys 944961711 282
 sys/src/libc/68020/scale.s - 664 sys sys 944961711 67
 sys/src/libc/68020/setjmp.s - 664 sys sys 944961711 284
@@ -14142,12 +14151,13 @@ sys/src/libc/arm/argv0.s - 664 sys sys 1067719006 88
 sys/src/libc/arm/cycles.c - 664 sys sys 1067719006 71
 sys/src/libc/arm/div.s - 664 sys sys 944961713 1639
 sys/src/libc/arm/doprint.xc - 664 sys sys 944961713 8554
+sys/src/libc/arm/getcallerpc.s - 664 sys sys 1132449120 48
 sys/src/libc/arm/getfcr.s - 664 sys sys 1014927272 104
 sys/src/libc/arm/main9.s - 664 sys sys 1067719007 489
 sys/src/libc/arm/main9p.s - 664 sys sys 1067719007 745
 sys/src/libc/arm/memmove.s - 664 sys sys 944961714 4391
 sys/src/libc/arm/memset.s - 664 sys sys 984709513 1057
-sys/src/libc/arm/mkfile - 664 sys sys 1067719008 385
+sys/src/libc/arm/mkfile - 664 sys sys 1132449109 402
 sys/src/libc/arm/notejmp.c - 664 sys sys 984709513 223
 sys/src/libc/arm/setjmp.s - 664 sys sys 984709513 367
 sys/src/libc/arm/strchr.s - 664 sys sys 984709513 841
@@ -14348,6 +14358,7 @@ sys/src/libc/power/vlop.s - 664 sys sys 944961720 224
 sys/src/libc/power/vlrt.c - 664 sys sys 1067719060 9023
 sys/src/libc/sparc - 20000000775 sys sys 984709928 0
 sys/src/libc/sparc/argv0.s - 664 sys sys 1067722827 88
+sys/src/libc/sparc/getcallerpc.s - 664 sys sys 1132449295 49
 sys/src/libc/sparc/getfcr.s - 664 sys sys 944961720 335
 sys/src/libc/sparc/main9.s - 664 sys sys 1067722825 537
 sys/src/libc/sparc/main9p.s - 664 sys sys 1067722817 749
@@ -14356,7 +14367,7 @@ sys/src/libc/sparc/memchr.s - 664 sys sys 944961720 275
 sys/src/libc/sparc/memcmp.s - 664 sys sys 944961720 1705
 sys/src/libc/sparc/memmove.s - 664 sys sys 944961720 2282
 sys/src/libc/sparc/memset.s - 664 sys sys 944961720 1282
-sys/src/libc/sparc/mkfile - 664 sys sys 1067723173 434
+sys/src/libc/sparc/mkfile - 664 sys sys 1132449305 451
 sys/src/libc/sparc/muldivrt.s - 664 sys sys 984709428 5379
 sys/src/libc/sparc/notejmp.c - 664 sys sys 944961720 401
 sys/src/libc/sparc/setjmp.s - 664 sys sys 944961720 432
@@ -14527,7 +14538,7 @@ sys/src/libip/myetheraddr.c - 664 sys sys 1066515138 837
 sys/src/libip/myipaddr.c - 664 sys sys 1069766545 841
 sys/src/libip/parseether.c - 664 sys sys 944961726 318
 sys/src/libip/parseip.c - 664 sys sys 950104689 2130
-sys/src/libip/ptclbsum.c - 664 sys sys 1014927943 1158
+sys/src/libip/ptclbsum.c - 664 sys sys 1132452948 1160
 sys/src/libip/readipifc.c - 664 sys sys 1032633396 4248
 sys/src/libip/testreadipifc.c - 664 sys sys 1021580003 400
 sys/src/liblex - 20000000775 sys sys 944961728 0

+ 96 - 0
dist/replica/plan9.log

@@ -22991,3 +22991,99 @@
 1132336840 0 c sys/src/lib9p/file.c - 664 sys sys 1132336580 6695
 1132342242 0 c sys/src/9/pc/mmu.c - 664 sys sys 1132341477 23864
 1132342242 1 c sys/src/9/pc/trap.c - 664 sys sys 1132341484 21278
+1132416059 0 c sys/src/cmd/ramfs.c - 664 sys sys 1132415785 15915
+1132419660 0 c 386/bin/clock - 775 sys sys 1132418759 158323
+1132419660 1 c 386/bin/colors - 775 sys sys 1132418760 150617
+1132419660 2 c 386/bin/cpu - 775 sys sys 1132418760 139238
+1132419660 3 c 386/bin/hget - 775 sys sys 1132418761 233404
+1132419660 4 c 386/bin/webcookies - 775 sys sys 1132418768 161992
+1132419660 5 c 386/bin/fmt - 775 sys sys 1132418760 65368
+1132419660 6 c 386/bin/lens - 775 sys sys 1132418762 150759
+1132419660 7 c 386/bin/mc - 775 sys sys 1132418762 133951
+1132419660 8 c 386/bin/news - 775 sys sys 1132418762 71736
+1132419660 9 c 386/bin/pcc - 775 sys sys 1132418763 67946
+1132419660 10 c 386/bin/pr - 775 sys sys 1132418764 77495
+1132419660 11 c 386/bin/prof - 775 sys sys 1132418764 110968
+1132419660 12 c 386/bin/ramfs - 775 sys sys 1132418764 89820
+1132419660 13 c 386/bin/srv - 775 sys sys 1132418764 82481
+1132419660 14 c 386/bin/stats - 775 sys sys 1132418765 190670
+1132419660 15 c 386/bin/swap - 775 sys sys 1132418765 62170
+1132419660 16 c 386/bin/winwatch - 775 sys sys 1132418768 154910
+1132419660 17 c 386/bin/ape/cc - 775 sys sys 1132418758 70437
+1132419660 18 c 386/bin/ape/tar - 775 sys sys 1132418759 61979
+1132419660 19 c 386/bin/gview - 775 sys sys 1132418761 238559
+1132419660 20 c 386/bin/kbmap - 775 sys sys 1132418762 143662
+1132419660 21 c 386/bin/nfs - 775 sys sys 1132418763 315896
+1132419660 22 c 386/bin/tlsclient - 775 sys sys 1132418765 198498
+1132419660 23 c 386/bin/tlssrv - 775 sys sys 1132418766 198736
+1132419660 24 c 386/bin/tprof - 775 sys sys 1132418766 297408
+1132419660 25 c 386/bin/trace - 775 sys sys 1132418767 181163
+1132419660 26 c 386/bin/tweak - 775 sys sys 1132418767 192895
+1132419660 27 c 386/lib/libc.a - 664 sys sys 1132418770 502902
+1132419660 28 c acme/bin/386/Mail - 775 sys sys 1132418768 179246
+1132419660 29 c acme/bin/386/win - 775 sys sys 1132418769 179325
+1132448468 0 c sys/src/9/alphapc/sd53c8xx.c - 664 sys sys 1132448433 50964
+1132448468 1 c sys/src/9/pc/devlml.c - 664 sys sys 1132448361 7502
+1132448468 2 c sys/src/lib9p/file.c - 664 sys sys 1132447639 6651
+1132450268 0 c 386/bin/rc - 775 sys sys 1132448643 143275
+1132450268 1 c sys/src/cmd/troff2html/troff2html.c - 664 sys sys 1132450028 14280
+1132450268 2 c sys/src/cmd/vnc/compat.c - 664 sys sys 1132449488 3150
+1132450268 3 c sys/src/cmd/rc/io.c - 664 sys sys 1132448641 3752
+1132450268 4 c sys/src/cmd/rc/io.h - 664 sys sys 1132448641 535
+1132450268 5 c sys/src/cmd/rc/plan9.c - 664 sys sys 1132448642 9330
+1132450268 6 c sys/src/cmd/rc/win32.c - 664 sys sys 1132448675 8697
+1132450268 7 c sys/src/cmd/samterm/mesg.c - 664 sys sys 1132448977 12581
+1132450268 8 c sys/src/cmd/samterm/samterm.h - 664 sys sys 1132448977 3773
+1132450268 9 c sys/src/cmd/vl/pass.c - 664 sys sys 1132449538 8706
+1132450268 10 c sys/src/cmd/webcookies.c - 664 sys sys 1132449468 23687
+1132450268 11 c sys/src/cmd/sam/cmd.c - 664 sys sys 1132448975 10774
+1132450268 12 c sys/src/cmd/sam/list.c - 664 sys sys 1132448975 1431
+1132450268 13 c sys/src/cmd/sam/mesg.c - 664 sys sys 1132448975 14291
+1132450268 14 c sys/src/cmd/sam/multi.c - 664 sys sys 1132448976 1844
+1132450268 15 c sys/src/cmd/sam/rasp.c - 664 sys sys 1132448976 5618
+1132450268 16 c sys/src/cmd/sam/sam.c - 664 sys sys 1132448976 12016
+1132450268 17 c sys/src/cmd/sam/sam.h - 664 sys sys 1132448977 9345
+1132450268 18 a sys/src/libc/68020/getcallerpc.s - 664 sys sys 1132449270 50
+1132450268 19 c sys/src/libc/68020/mkfile - 664 sys sys 1132449285 632
+1132450268 20 a sys/src/libc/arm/getcallerpc.s - 664 sys sys 1132449120 48
+1132450268 21 c sys/src/libc/arm/mkfile - 664 sys sys 1132449109 402
+1132450268 22 a sys/src/libc/sparc/getcallerpc.s - 664 sys sys 1132449295 49
+1132450268 23 c sys/src/libc/sparc/mkfile - 664 sys sys 1132449305 451
+1132452068 0 a sys/src/ape/lib/9/386/getcallerpc.c - 664 sys sys 1132450766 76
+1132452068 1 a sys/src/ape/lib/9/68020/getcallerpc.s - 664 sys sys 1132450766 50
+1132452068 2 a sys/src/ape/lib/9/alpha/getcallerpc.s - 664 sys sys 1132450766 48
+1132452068 3 a sys/src/ape/lib/9/arm/getcallerpc.s - 664 sys sys 1132450767 48
+1132452068 4 a sys/src/ape/lib/9/mips/getcallerpc.s - 664 sys sys 1132450767 47
+1132452068 5 c sys/src/ape/lib/9/mkfile - 664 sys sys 1132450767 392
+1132452068 6 a sys/src/ape/lib/9/power/getcallerpc.s - 664 sys sys 1132450767 51
+1132452068 7 a sys/src/ape/lib/9/setmalloctag.c - 664 sys sys 1132450767 44
+1132452068 8 a sys/src/ape/lib/9/sparc/getcallerpc.s - 664 sys sys 1132450767 49
+1132452068 9 c sys/src/cmd/2c/enam.c - 664 sys sys 1132451400 4248
+1132452068 10 c sys/src/cmd/2c/gc.h - 664 sys sys 1132451401 6241
+1132452068 11 c sys/src/cmd/2c/swt.c - 664 sys sys 1132451401 17160
+1132452068 12 c sys/src/cmd/2c/txt.c - 664 sys sys 1132451401 17847
+1132452068 13 c sys/src/cmd/9660srv/9660srv.c - 664 sys sys 1132451689 17151
+1132452068 14 c sys/src/cmd/aux/depend.c - 664 sys sys 1132451758 25875
+1132452068 15 c sys/src/cmd/cc/compat.c - 664 sys sys 1132451523 454
+1132452068 16 c sys/src/cmd/cc/dcl.c - 664 sys sys 1132451524 26833
+1132452068 17 c sys/src/cmd/hoc/code.c - 664 sys sys 1132451870 10050
+1132452068 18 c sys/src/cmd/kl/pass.c - 664 sys sys 1132451576 9340
+1132452068 19 c sys/src/cmd/ms2html.c - 664 sys sys 1132452054 41032
+1132452068 20 c sys/src/cmd/1c/gc.h - 664 sys sys 1132451333 6044
+1132452068 21 c sys/src/cmd/1c/swt.c - 664 sys sys 1132451340 15407
+1132452068 22 c sys/src/cmd/1c/txt.c - 664 sys sys 1132451346 17123
+1132452068 23 c sys/src/cmd/ql/pass.c - 664 sys sys 1132450403 11861
+1132452068 24 c sys/src/cmd/7l/pass.c - 774 sys sys 1132450430 8676
+1132452068 25 c sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1132451844 12318
+1132453867 0 c sys/games/lib/fortunes - 664 sys sys 1132452521 256595
+1132453867 1 c sys/lib/dist/mkfile - 664 sys sys 1132452664 4522
+1132453867 2 c sys/lib/dist/pc/plan9.ini.cd - 664 sys sys 1132452554 369
+1132453867 3 c sys/lib/dist/pc/sub/termrc - 664 sys sys 1132452603 2448
+1132453867 4 c sys/man/6/snap - 664 sys sys 1132452694 2402
+1132453867 5 c sys/src/cmd/venti/dat.h - 664 sys sys 1132452191 15346
+1132453867 6 c sys/src/cmd/venti/fmtarenas.c - 664 sys sys 1132452192 2213
+1132453867 7 c sys/src/cmd/venti/fmtisect.c - 664 sys sys 1132452192 1326
+1132453867 8 c sys/src/cmd/venti/zeropart.c - 664 sys sys 1132452194 877
+1132453867 9 c sys/src/libip/ptclbsum.c - 664 sys sys 1132452948 1160
+1132455669 0 c sys/src/cmd/vnc/compat.c - 664 sys sys 1132454890 3122
+1132457470 0 c sys/src/cmd/vnc/devcons.c - 664 sys sys 1132456488 6786

+ 1 - 1
sys/games/lib/fortunes

@@ -3159,7 +3159,6 @@ A rolling stone is a singing rock group.
 Every cloud has a wet spot.
 You take a banana, you get a lunar landscape.  -J. van Wijk
 "Buffalo never Oink" -- a South Dakota travel brocure.
-Choose your spouse carefully. -- Susan Dorward
 Ken is very smart but also very opinionated.  -- Doug Gwyn
 Anthony Burgess reports a friend's rendezvous with the ideal mannequin, all legs and no breasts. It was like going to bed with a bicycle.
 Narcissists receive callers without opening the door.
@@ -4093,3 +4092,4 @@ There is nothing quite like looking up and seeing YOUR star.  Order now for FREE
 gcc is the holy cow of compilers, not the holy grail.  - forsyth
 NOTE 3: Each bit has the value either ZERO or ONE.  - ECMA-035 spec
 cpu90112: exiting
+cpu0: existing

+ 5 - 1
sys/lib/dist/mkfile

@@ -19,7 +19,10 @@ contrib-cd:V:	/n/fsother/dist/contrib.iso.bz2
 	bind pc/cddisk cdstub/bootdisk.img
 	if(! test -f $d/bootdisk.img)
 		bind -a cdstub $d
-	disk/mk9660 -9cj -v 'Plan 9 4th Ed.' -s $d \
+	title=`{date | sed 's/(...) (...) (..) (..:..):.. (...) (....)/Plan 9 - \2 \3 \6 \4/'}
+	title=$"title
+	echo 'CD:' $title
+	disk/mk9660 -9cj -v $title -s $d \
 		-b bootdisk.img $target
 
 /sys/lib/dist/web.protect/%.iso.bz2:	/n/fsother/dist/%.iso.bz2
@@ -138,3 +141,4 @@ worldwritable-mail:V:
 		mail -s 'non-group-writable files on fs '^$dd 9trouble </sys/lib/dist/writable
 	}
 	status=''
+

+ 1 - 0
sys/lib/dist/pc/plan9.ini.cd

@@ -9,6 +9,7 @@ partition=new
 mouseport=ask
 monitor=ask
 vgasize=ask
+dmamode=ask
 adisk=/dev/sdD0/cdboot
 cdboot=yes
 

+ 13 - 0
sys/lib/dist/pc/sub/termrc

@@ -59,6 +59,19 @@ aux/vmware
 	echo add 127.0.0.1 255.255.255.0 
 } >/net/ipifc/clone
 
+if(~ $#dmamode 0)
+	dmamode=ask
+if(~ $dmamode ask){
+	echo -n 'use DMA for ide drives[yes]: '
+	dmamode=`{read}
+	if(~ $#dmamode 0)
+		dmamode=yes
+}
+if(~ $dmamode yes)
+	for(i in /dev/sd*/ctl)
+		if(test -f $i)
+			{echo dma on; echo rwm on} >$i
+
 if(~ $installmode ask){
 	echo -n 'install mode is (text, graphics)[graphics]: '
 	installmode=`{read}

+ 1 - 1
sys/man/6/snap

@@ -18,7 +18,7 @@ Programs reading snapshots should only
 check that this line begins with the specified prefix.
 .PP
 Throughout the rest of the snapshot, decimal strings are
-always right-justified, blank-padded to 11 characters,
+always right-justified, blank-padded to at least 11 characters,
 and followed by a single space character.
 .PP
 The rest of the snapshot is one or more records,

+ 1 - 1
sys/src/9/alphapc/sd53c8xx.c

@@ -1987,7 +1987,7 @@ buggery:
 		/*
 		 * Because we don't yet have an abstraction for the
 		 * addresses as seen from the controller side (and on
-		 * the 386 it doesn't matter), the follwong two lines
+		 * the 386 it doesn't matter), the following two lines
 		 * are different between the 386 and alpha copies of
 		 * this driver.
 		 */

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

@@ -159,7 +159,7 @@ lmlreset(void)
 		print("zr36067 found at 0x%.8lux", pcidev->mem[0].bar & ~0x0F);
 
 		regpa = pcidev->mem[0].bar & ~0x0F;
-		regva = vmap(regpa, pcidev->mem[0].size, 0);
+		regva = vmap(regpa, pcidev->mem[0].size);
 		if (regva == 0) {
 			print("lml: failed to map registers\n");
 			return;

+ 5 - 0
sys/src/ape/lib/9/386/getcallerpc.c

@@ -0,0 +1,5 @@
+unsigned long
+getcallerpc(void *x)
+{
+	return (((unsigned long*)(x))[-1]);
+}

+ 3 - 0
sys/src/ape/lib/9/68020/getcallerpc.s

@@ -0,0 +1,3 @@
+TEXT getcallerpc(SB), $0
+	MOVL	(a+0(FP)), R0
+	RTS

+ 4 - 0
sys/src/ape/lib/9/alpha/getcallerpc.s

@@ -0,0 +1,4 @@
+TEXT	getcallerpc(SB), $-8
+	MOVL	0(SP), R0
+	RET
+

+ 3 - 0
sys/src/ape/lib/9/arm/getcallerpc.s

@@ -0,0 +1,3 @@
+TEXT getcallerpc(SB), $-4
+	MOVW	0(R13), R0
+	RET

+ 4 - 0
sys/src/ape/lib/9/mips/getcallerpc.s

@@ -0,0 +1,4 @@
+TEXT	getcallerpc(SB), $0
+	MOVW	0(SP), R1
+	RET
+

+ 5 - 3
sys/src/ape/lib/9/mkfile

@@ -4,15 +4,17 @@ APE=/sys/src/ape
 LIB=/$objtype/lib/ape/lib9.a
 OFILES=errstr.$O\
 	bind.$O\
+	getcallerpc.$O\
+	getfcr.$O\
 	mount.$O\
-	unmount.$O\
+	rendezvous.$O\
 	rfork.$O\
 	segattach.$O\
 	segdetach.$O\
 	segflush.$O\
 	segfree.$O\
-	rendezvous.$O\
-	getfcr.$O\
+	setmalloctag.$O\
+	unmount.$O\
 
 </sys/src/cmd/mksyslib
 

+ 4 - 0
sys/src/ape/lib/9/power/getcallerpc.s

@@ -0,0 +1,4 @@
+TEXT	getcallerpc(SB), $-4
+	MOVW	0(R1), R3
+	RETURN
+

+ 4 - 0
sys/src/ape/lib/9/setmalloctag.c

@@ -0,0 +1,4 @@
+void
+setmalloctag(void*, unsigned long)
+{
+}

+ 3 - 0
sys/src/ape/lib/9/sparc/getcallerpc.s

@@ -0,0 +1,3 @@
+TEXT getcallerpc(SB), $0
+	MOVW	0(R1), R7
+	RETURN

+ 1 - 0
sys/src/cmd/1c/gc.h

@@ -318,6 +318,7 @@ void	gbranch(int);
 void	fpbranch(void);
 void	patch(Prog*, long);
 void	gpseudo(int, Sym*, int, long);
+void	gpseudotree(int, Sym*, Node*);
 
 void	indx(Node*);
 void	bcomplex(Node*);

+ 1 - 1
sys/src/cmd/1c/swt.c

@@ -882,7 +882,7 @@ gextern(Sym *s, Node *a, long o, long w)
 		p->from.displace = 4;
 		return;
 	}
-	gpseudo(ADATA, s, D_TREE, (long)a);
+	gpseudotree(ADATA, s, a);
 	p->from.offset += o;
 	p->from.displace = w;
 }

+ 20 - 8
sys/src/cmd/1c/txt.c

@@ -638,10 +638,10 @@ gopcode(int o, Type *ty, int gf, Node *f, int gt, Node *t)
 	} else {
 		p->from.type = gf;
 		if(gf == D_CONST) {
-			p->from.offset = (long)f;
+			p->from.offset = (long)(uintptr)f;
 			if(typefd[i]) {
 				p->from.type = D_FCONST;
-				p->from.dval = (long)f;
+				p->from.dval = (long)(uintptr)f;
 			}
 		}
 	}
@@ -651,7 +651,7 @@ gopcode(int o, Type *ty, int gf, Node *f, int gt, Node *t)
 	} else {
 		p->to.type = gt;
 		if(gt == D_CONST)
-			p->to.offset = (long)t;
+			p->to.offset = (long)(uintptr)t;
 	}
 	if(o == OBIT) {
 		p->from.field = f->type->nbits;
@@ -803,11 +803,23 @@ gpseudo(int a, Sym *s, int g, long v)
 	if(a == ADATA)
 		pc--;
 	p->as = a;
-	if(g != D_TREE) {
-		p->to.type = g;
-		p->to.offset = v;
-	} else
-		naddr((Node*)v, &p->to, D_NONE);
+	p->to.type = g;
+	p->to.offset = v;
+	p->from.sym = s;
+	p->from.type = D_EXTERN;
+	if(s->class == CSTATIC)
+		p->from.type = D_STATIC;
+}
+
+void
+gpseudotree(int a, Sym *s, Node *n)
+{
+
+	nextpc();
+	if(a == ADATA)
+		pc--;
+	p->as = a;
+	naddr(n, &p->to, D_NONE);
 	p->from.sym = s;
 	p->from.type = D_EXTERN;
 	if(s->class == CSTATIC)

+ 1 - 0
sys/src/cmd/2c/enam.c

@@ -421,4 +421,5 @@ char	*anames[] =
 	"UNPK",
 	"WORD",
 	"SIGNAME",
+	"LAST",
 };

+ 1 - 0
sys/src/cmd/2c/gc.h

@@ -335,6 +335,7 @@ void	gbranch(int);
 void	fpbranch(void);
 void	patch(Prog*, long);
 void	gpseudo(int, Sym*, int, long);
+void	gpseudotree(int, Sym*, Node*);
 
 void	indx(Node*);
 void	bcomplex(Node*);

+ 1 - 1
sys/src/cmd/2c/swt.c

@@ -964,7 +964,7 @@ gextern(Sym *s, Node *a, long o, long w)
 		p->from.displace = 4;
 		return;
 	}
-	gpseudo(ADATA, s, D_TREE, (long)a);
+	gpseudotree(ADATA, s, a);
 	p->from.offset += o;
 	p->from.displace = w;
 }

+ 21 - 8
sys/src/cmd/2c/txt.c

@@ -674,10 +674,10 @@ gopcode(int o, Type *ty, int gf, Node *f, int gt, Node *t)
 	} else {
 		p->from.type = gf;
 		if(gf == D_CONST) {
-			p->from.offset = (long)f;
+			p->from.offset = (long)(uintptr)f;
 			if(typefd[i]) {
 				p->from.type = D_FCONST;
-				p->from.dval = (long)f;
+				p->from.dval = (long)(uintptr)f;
 			}
 		}
 	}
@@ -687,7 +687,7 @@ gopcode(int o, Type *ty, int gf, Node *f, int gt, Node *t)
 	} else {
 		p->to.type = gt;
 		if(gt == D_CONST)
-			p->to.offset = (long)t;
+			p->to.offset = (long)(uintptr)t;
 	}
 	if(o == OBIT) {
 		p->from.field = f->type->nbits;
@@ -839,11 +839,24 @@ gpseudo(int a, Sym *s, int g, long v)
 	if(a == ADATA)
 		pc--;
 	p->as = a;
-	if(g != D_TREE) {
-		p->to.type = g;
-		p->to.offset = v;
-	} else
-		naddr((Node*)v, &p->to, D_NONE);
+	if(g == D_TREE)
+		abort();	/* obsolete */
+	p->to.type = g;
+	p->to.offset = v;
+	p->from.sym = s;
+	p->from.type = D_EXTERN;
+	if(s->class == CSTATIC)
+		p->from.type = D_STATIC;
+}
+
+void
+gpseudotree(int a, Sym *s, Node *n)
+{
+	nextpc();
+	if(a == ADATA)
+		pc--;
+	p->as = a;
+	naddr(n, &p->to, D_NONE);
 	p->from.sym = s;
 	p->from.type = D_EXTERN;
 	if(s->class == CSTATIC)

+ 2 - 2
sys/src/cmd/7l/pass.c

@@ -130,9 +130,9 @@ dodata(void)
 				continue;
 			/* size should be 19 max */
 			if(strlen(s->name) >= 10)	/* has loader address */ 
-				sprint(literal, "$%lux.%lux", (long)s, (long)p->from.offset);
+				sprint(literal, "$%p.%llux", s, p->from.offset);
 			else
-				sprint(literal, "$%s.%d.%lux", s->name, s->version, (long)p->from.offset);
+				sprint(literal, "$%s.%d.%llux", s->name, s->version, p->from.offset);
 		} else {
 			if(p->from.name != D_NONE)
 				continue;

+ 4 - 4
sys/src/cmd/9660srv/9660srv.c

@@ -159,7 +159,7 @@ chat("%d %d\n", haveplan9, nojoliet);
 	if(getdrec(root, rd) >= 0){
 		n = rd->reclen-(34+rd->namelen);
 		s = (uchar*)rd->name + rd->namelen;
-		if((ulong)s & 1){
+		if((uintptr)s & 1){
 			s++;
 			n--;
 		}
@@ -620,7 +620,7 @@ rzdir(Xfs *fs, Dir *d, int fmt, Drec *dp)
 
 	sysl = dp->reclen-(34+dp->namelen);
 	s = (uchar*)dp->name + dp->namelen;
-	if(((ulong)s) & 1) {
+	if(((uintptr)s) & 1) {
 		s++;
 		sysl--;
 	}
@@ -649,7 +649,7 @@ rzdir(Xfs *fs, Dir *d, int fmt, Drec *dp)
 		memset(d->gid, 0, ONAMELEN);
 		memmove(d->gid, s+1, nl);
 		s += 1 + *s;
-		if(((ulong)s) & 1)
+		if(((uintptr)s) & 1)
 			s++;
 		d->mode = l32(s);
 		if(d->mode & DMDIR)
@@ -707,7 +707,7 @@ rzdir(Xfs *fs, Dir *d, int fmt, Drec *dp)
 			s += fs->suspoff;
 			sysl -= fs->suspoff;
 			for(; sysl >= 4 && have != (Hname|Hmode); sysl -= l, s += l){
-				if(s[0] == 0 && ((ulong)s & 1)){
+				if(s[0] == 0 && ((uintptr)s & 1)){
 					/* MacOS pads individual entries, contrary to spec */
 					s++;
 					sysl--;

+ 16 - 7
sys/src/cmd/aux/depend.c

@@ -5,6 +5,13 @@
 #include <thread.h>
 #include <bio.h>
 
+typedef struct Args Args;
+
+struct Args {
+	int	argc;
+	char	**argv;
+};
+
 typedef struct Dfile Dfile;
 typedef struct Fid Fid;
 typedef struct File File;
@@ -258,11 +265,13 @@ realmain(void *a)
 	int srv;
 	char service[128];
 	struct Fsarg fsarg;
+	Args *args;
 	int argc;
 	char **argv;
 
-	argc = (int)((void**)a)[0];
-	argv = ((void**)a)[1];
+	args = a;
+	argc = args->argc;
+	argv = args->argv;
 
 	fmtinstall('F', fcallfmt);
 
@@ -272,7 +281,7 @@ realmain(void *a)
 			break;
 	}ARGEND
 	if(argc != 2){
-		fprint(2, "usage: %s [-d] svc-name directory", argv0);
+		fprint(2, "usage: %s [-d] svc-name directory\n", argv0);
 		exits("usage");
 	}
 	snprint(service, sizeof service, "#s/%s", argv[0]);
@@ -307,12 +316,12 @@ realmain(void *a)
 void
 threadmain(int argc, char *argv[])
 {
-	static void *a[2];
+	static Args args;
 
-	a[0] = (void*)argc;
-	a[1] = argv;
+	args.argc = argc;
+	args.argv = argv;
 	rfork(RFNAMEG);
-	proccreate(realmain, a, 16*1024);
+	proccreate(realmain, &args, 16*1024);
 }
 
 char*

+ 5 - 0
sys/src/cmd/cc/compat.c

@@ -40,3 +40,8 @@ mallocz(ulong size, int clr)
 		memset(v, 0, size);
 	return v;
 }
+
+void
+setmalloctag(void*, ulong)
+{
+}

+ 10 - 8
sys/src/cmd/cc/dcl.c

@@ -374,9 +374,8 @@ init1(Sym *s, Type *t, long o, int exflag)
 				a = a->left;
 			}
 			if(!sametype(t, a->type)) {
-				diag(a, "initialization of incompatible pointers: %s",
-					s->name);
-				print("%T and %T\n", t, a->type);
+				diag(a, "initialization of incompatible pointers: %s\n%T and %T",
+					s->name, t, a->type);
 			}
 			if(a->op == OADDR)
 				a = a->left;
@@ -1535,6 +1534,7 @@ contig(Sym *s, Node *n, long v)
 {
 	Node *p, *r, *q, *m;
 	long w;
+	Type *zt;
 
 	if(debug['i']) {
 		print("contig v = %ld; s = %s\n", v, s->name);
@@ -1558,7 +1558,7 @@ contig(Sym *s, Node *n, long v)
 		stkoff = maxround(stkoff, autoffset);
 		symadjust(s, n, v - s->offset);
 	}
-	if(w <= 4)
+	if(w <= ewidth[TIND])
 		goto no;
 	if(n->op == OAS)
 		diag(Z, "oops in contig");
@@ -1572,10 +1572,10 @@ if not, bail
 		if(n->left->type)
 		if(n->left->type->width == w)
 			goto no;
-	while(w & 3)
+	while(w & ewidth[TIND])
 		w++;	/* is this a bug?? */
 /*
- * insert the following code
+ * insert the following code, where long becomes vlong if pointers are fat
  *
 	*(long**)&X = (long*)((char*)X + sizeof(X));
 	do {
@@ -1587,9 +1587,11 @@ if not, bail
 	for(q=n; q->op != ONAME; q=q->left)
 		;
 
+	zt = ewidth[TIND] > ewidth[TLONG]? types[TVLONG]: types[TLONG];
+
 	p = new(ONAME, Z, Z);
 	*p = *q;
-	p->type = typ(TIND, types[TLONG]);
+	p->type = typ(TIND, zt);
 	p->xoffset = s->offset;
 
 	r = new(ONAME, Z, Z);
@@ -1602,7 +1604,7 @@ if not, bail
 
 	m = new(OCONST, Z, Z);
 	m->vconst = 0;
-	m->type = types[TLONG];
+	m->type = zt;
 
 	q = new(OAS, q, m);
 

+ 2 - 2
sys/src/cmd/fossil/flfmt9660.c

@@ -515,7 +515,7 @@ iso9660copyfile(Fs *fs, File *dir, Cdir *c)
 	ind++;
 	memset(&d, 0, sizeof d);
 	p = c->name + c->namelen;
-	if(((ulong)p) & 1)
+	if(((uintptr)p) & 1)
 		p++;
 	sysl = (uchar*)c + c->len - p;
 	if(sysl <= 0)
@@ -523,7 +523,7 @@ iso9660copyfile(Fs *fs, File *dir, Cdir *c)
 	d.name = getname(&p);
 	d.uid = getname(&p);
 	d.gid = getname(&p);
-	if((ulong)p & 1)
+	if((uintptr)p & 1)
 		p++;
 	d.mode = little(p, 4);
 	if(d.name[0] == 0)

+ 1 - 1
sys/src/cmd/hoc/code.c

@@ -165,7 +165,7 @@ call(void) 		/* call a function */
 		execerror(sp->name, "call nested too deeply");
 	fp++;
 	fp->sp = sp;
-	fp->nargs = (int)pc[1];
+	fp->nargs = (int)(uintptr)pc[1];
 	fp->retpc = pc + 2;
 	fp->argn = stackp - 1;	/* last argument */
 	if(fp->nargs != sp->u.defn->nargs)

+ 1 - 1
sys/src/cmd/kl/pass.c

@@ -131,7 +131,7 @@ dodata(void)
 				continue;
 			/* size should be 19 max */
 			if(strlen(s->name) >= 10)	/* has loader address */ 
-				sprint(literal, "$%lux.%lux", (long)s, p->from.offset);
+				sprint(literal, "$%p.%lux", s, p->from.offset);
 			else
 				sprint(literal, "$%s.%d.%lux", s->name, s->version, p->from.offset);
 		} else {

+ 55 - 26
sys/src/cmd/ms2html.c

@@ -25,6 +25,8 @@ enum
 };
 
 char *delim = "$$";
+char *basename;
+char *title;
 int eqnmode;
 
 int 	quiet;
@@ -38,8 +40,9 @@ int nh[Maxnh];
 int ifwastrue[Maxif];
 
 int list, listnum, example;
-int hangingau, hangingdt, hanginghead;
+int hangingau, hangingdt, hanginghead, hangingcenter;
 int indirective, paragraph, sol, titleseen, ignore_nl, weBref;
+void dohangingcenter(void);
 
 typedef struct Goobie Goobie;
 typedef struct Goobieif Goobieif;
@@ -1363,7 +1366,7 @@ doconvert(void)
 static void
 usage(void)
 {
-	sysfatal("Usage: %s\n", argv0);
+	sysfatal("usage: ms2html [-q] [-b basename] [-d '$$'] [-t title]\n");
 }
 
 void
@@ -1371,6 +1374,12 @@ main(int argc, char **argv)
 {
 	quiet = 1;
 	ARGBEGIN {
+	case 't':
+		title = EARGF(usage());
+		break;
+	case 'b':
+		basename = EARGF(usage());
+		break;
 	case 'q':
 		quiet = 0;
 		break;
@@ -1580,6 +1589,7 @@ void
 g_SH(int, char**)
 {
 	dohanginghead();
+	dohangingcenter();
 	closel();
 	closefont();
 	Bprint(&bout, "<H%d>", HH);
@@ -1594,6 +1604,7 @@ g_NH(int argc, char **argv)
 	closel();
 	closefont();
 
+	dohangingcenter();
 	if(argc == 1)
 		level = 0;
 	else {
@@ -1624,31 +1635,44 @@ g_TL(int, char**)
 	closefont();
 
 	if(!titleseen){
-		/* get base part of filename */
-		p = strrchr(ssp->filename, '/');
-		if(p == nil)
-			p = ssp->filename;
-		else
-			p++;
-		strncpy(name, p, sizeof(name));
-		name[sizeof(name)-1] = 0;
-	
-		/* dump any extensions */
-		np = strchr(name, '.');
-		if(np)
-			*np = 0;
-	
+		if(!title){
+			/* get base part of filename */
+			p = strrchr(ssp->filename, '/');
+			if(p == nil)
+				p = ssp->filename;
+			else
+				p++;
+			strncpy(name, p, sizeof(name));
+			name[sizeof(name)-1] = 0;
+		
+			/* dump any extensions */
+			np = strchr(name, '.');
+			if(np)
+				*np = 0;
+			title = p;
+		}
 		Bprint(&bout, "<title>\n");
-		Bprint(&bout, "%s\n", p);
+		Bprint(&bout, "%s\n", title);
 		Bprint(&bout, "</title>\n");
 		Bprint(&bout, "<body BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\" LINK=\"#0000FF\" VLINK=\"#330088\" ALINK=\"#FF0044\">\n");
 		titleseen = 1;
 	}
 
+	Bprint(&bout, "<center>");
+	hangingcenter = 1;
 	Bprint(&bout, "<H%d>", 1);
 	hanginghead = 1;
 }
 
+void
+dohangingcenter(void)
+{
+	if(hangingcenter){
+		Bprint(&bout, "</center>");
+		hangingcenter = 1;
+	}
+}
+
 void
 g_AU(int, char**)
 {
@@ -1895,7 +1919,8 @@ void
 g_AB(int, char**)
 {
 	closel();
-	Bprint(&bout, "<DL><DD><H4>ABSTRACT</H4>\n");
+	dohangingcenter();
+	Bprint(&bout, "<center><H4>ABSTRACT</H4></center><DL><DD>\n");
 }
 
 void
@@ -2071,12 +2096,16 @@ g_startgif(int, char **argv)
 	else
 		return;
 
-	p = strrchr(sstack[0].filename, '/');
-	if(p != nil)
-		p++;
-	else
-		p = sstack[0].filename;
-	snprint(name, sizeof(name), "%s.%d%d.gif", p, getpid(), gif++);
+	if(basename)
+		p = basename;
+	else{
+		p = strrchr(sstack[0].filename, '/');
+		if(p != nil)
+			p++;
+		else
+			p = sstack[0].filename;
+	}
+	snprint(name, sizeof(name), "%s.%d.gif", p, gif++);
 	fd = create(name, OWRITE, 0664);
 	if(fd < 0){
 		fprint(2, "ms2html: can't create %s: %r\n", name);
@@ -2106,8 +2135,8 @@ g_startgif(int, char **argv)
 		close(fd);
 		close(pfd[0]);
 		fprint(pfd[1], ".ll 7i\n");
-		fprint(pfd[1], ".EQ\ndelim %s\n.EN\n", delim);
-		fprint(pfd[1], ".%s\n", argv[0]);
+	/*	fprint(pfd[1], ".EQ\ndelim %s\n.EN\n", delim); */
+	/*	fprint(pfd[1], ".%s\n", argv[0]); */
 		for(;;){
 			p = Brdline(&ssp->in, '\n');
 			if(p == nil)

+ 2 - 2
sys/src/cmd/ql/pass.c

@@ -131,7 +131,7 @@ dodata(void)
 				continue;
 			/* size should be 19 max */
 			if(strlen(s->name) >= 10)	/* has loader address */ 
-				sprint(literal, "$%lux.%lux", (long)s, p->from.offset);
+				sprint(literal, "$%p.%lux", s, p->from.offset);
 			else
 				sprint(literal, "$%s.%d.%lux", s->name, s->version, p->from.offset);
 		} else {
@@ -664,4 +664,4 @@ export(void)
 	str->value = sv;
 	exports = ne;
 	free(esyms);
-}
+}

+ 1 - 3
sys/src/cmd/ramfs.c

@@ -791,13 +791,11 @@ io(void)
 		 */
 		n = read9pmsg(mfd[0], mdata, messagesize);
 		if(n < 0){
-			errstr(buf, sizeof buf);
+			rerrstr(buf, sizeof buf);
 			if(buf[0]=='\0' || strstr(buf, "hungup"))
 				exits("");
 			error("mount read");
 		}
-		if(n < 0)
-			error("mount read");
 		if(n == 0)
 			continue;
 		if(convM2S(mdata, n, &thdr) == 0)

+ 11 - 4
sys/src/cmd/rc/io.c

@@ -28,7 +28,8 @@ pfmt(io *f, char *fmt, ...)
 			poct(f, va_arg(ap, unsigned));
 			break;
 		case 'p':
-			phex(f, (long)va_arg(ap, char *)); break; /*unportable*/
+			pptr(f, va_arg(ap, void*));
+			break;
 		case 'Q':
 			pquo(f, va_arg(ap, char *));
 			break;
@@ -94,9 +95,15 @@ pwrd(io *f, char *s)
 }
 
 void
-phex(io *f, long p)
+pptr(io *f, void *v)
 {
 	int n;
+	uintptr p;
+
+	p = (uintptr)v;
+	if(sizeof(uintptr) == sizeof(uvlong) && p>>32)
+		for(n = 60;n>=32;n-=4) pchr(f, "0123456789ABCDEF"[(p>>n)&0xF]);
+
 	for(n = 28;n>=0;n-=4) pchr(f, "0123456789ABCDEF"[(p>>n)&0xF]);
 }
 
@@ -109,7 +116,7 @@ pstr(io *f, char *s)
 }
 
 void
-pdec(io *f, long n)
+pdec(io *f, int n)
 {
 	if(n<0){
 		n=-n;
@@ -131,7 +138,7 @@ pdec(io *f, long n)
 }
 
 void
-poct(io *f, ulong n)
+poct(io *f, unsigned n)
 {
 	if(n>7)
 		poct(f, n>>3);

+ 3 - 3
sys/src/cmd/rc/io.h

@@ -13,9 +13,9 @@ int rchr(io*);
 void closeio(io*);
 void flush(io*);
 int fullbuf(io*, int);
-void pdec(io*, long);
-void poct(io*, ulong);
-void phex(io*, long);
+void pdec(io*, int);
+void poct(io*, unsigned);
+void pptr(io*, void*);
 void pquo(io*, char*);
 void pwrd(io*, char*);
 void pstr(io*, char*);

+ 1 - 1
sys/src/cmd/rc/plan9.c

@@ -350,7 +350,7 @@ Execute(word *args, word *path)
 int
 Globsize(char *p)
 {
-	ulong isglob = 0, globlen = NDIR+1;
+	int isglob = 0, globlen = NDIR+1;
 	for(;*p;p++){
 		if(*p==GLOB){
 			p++;

+ 1 - 1
sys/src/cmd/rc/win32.c

@@ -307,7 +307,7 @@ Execute(word *args, word *path)
 int
 Globsize(char *p)
 {
-	ulong isglob = 0, globlen = NDIR+1;
+	int isglob = 0, globlen = NDIR+1;
 	for(;*p;p++){
 		if(*p==GLOB){
 			p++;

+ 12 - 10
sys/src/cmd/sam/cmd.c

@@ -50,10 +50,12 @@ Rune	termline[BLOCKSIZE];
 Rune	*linep = line;
 Rune	*terminp = termline;
 Rune	*termoutp = termline;
-List	cmdlist;
-List	addrlist;
-List	relist;
-List	stringlist;
+
+List	cmdlist = { 'p' };
+List	addrlist = { 'p' };
+List	relist = { 'p' };
+List	stringlist = { 'p' };
+
 int	eof;
 
 void
@@ -244,7 +246,7 @@ newcmd(void){
 	Cmd *p;
 
 	p = emalloc(sizeof(Cmd));
-	inslist(&cmdlist, cmdlist.nused, (long)p);
+	inslist(&cmdlist, cmdlist.nused, p);
 	return p;
 }
 
@@ -254,7 +256,7 @@ newaddr(void)
 	Addr *p;
 
 	p = emalloc(sizeof(Addr));
-	inslist(&addrlist, addrlist.nused, (long)p);
+	inslist(&addrlist, addrlist.nused, p);
 	return p;
 }
 
@@ -264,7 +266,7 @@ newre(void)
 	String *p;
 
 	p = emalloc(sizeof(String));
-	inslist(&relist, relist.nused, (long)p);
+	inslist(&relist, relist.nused, p);
 	Strinit(p);
 	return p;
 }
@@ -275,7 +277,7 @@ newstring(void)
 	String *p;
 
 	p = emalloc(sizeof(String));
-	inslist(&stringlist, stringlist.nused, (long)p);
+	inslist(&stringlist, stringlist.nused, p);
 	Strinit(p);
 	return p;
 }
@@ -286,9 +288,9 @@ freecmd(void)
 	int i;
 
 	while(cmdlist.nused > 0)
-		free(cmdlist.ucharpptr[--cmdlist.nused]);
+		free(cmdlist.voidpptr[--cmdlist.nused]);
 	while(addrlist.nused > 0)
-		free(addrlist.ucharpptr[--addrlist.nused]);
+		free(addrlist.voidpptr[--addrlist.nused]);
 	while(relist.nused > 0){
 		i = --relist.nused;
 		Strclose(relist.stringpptr[i]);

+ 61 - 12
sys/src/cmd/sam/list.c

@@ -3,16 +3,20 @@
 /*
  * Check that list has room for one more element.
  */
-void
-growlist(List *l)
+static void
+growlist(List *l, int esize)
 {
-	if(l->listptr==0 || l->nalloc==0){
+	uchar *p;
+
+	if(l->listptr == nil || l->nalloc == 0){
 		l->nalloc = INCR;
-		l->listptr = emalloc(INCR*sizeof(long));
+		l->listptr = emalloc(INCR*esize);
 		l->nused = 0;
-	}else if(l->nused == l->nalloc){
-		l->listptr = erealloc(l->listptr, (l->nalloc+INCR)*sizeof(long));
-		memset((void*)(l->longptr+l->nalloc), 0, INCR*sizeof(long));
+	}
+	else if(l->nused == l->nalloc){
+		p = erealloc(l->listptr, (l->nalloc+INCR)*esize);
+		l->listptr = p;
+		memset(p+l->nalloc, 0, INCR*esize);
 		l->nalloc += INCR;
 	}
 }
@@ -23,19 +27,51 @@ growlist(List *l)
 void
 dellist(List *l, int i)
 {
-	memmove(&l->longptr[i], &l->longptr[i+1], (l->nused-(i+1))*sizeof(long));
+	Posn *pp;
+	void **vpp;
+
 	l->nused--;
+
+	switch(l->type){
+	case 'P':
+		pp = l->posnptr+i;
+		memmove(pp, pp+1, (l->nused-i)*sizeof(*pp));
+		break;
+	case 'p':
+		vpp = l->voidpptr+i;
+		memmove(vpp, vpp+1, (l->nused-i)*sizeof(*vpp));
+		break;
+	}
 }
 
 /*
  * Add a new element, whose position is i, to the list
  */
 void
-inslist(List *l, int i, long val)
+inslist(List *l, int i, ...)
 {
-	growlist(l);
-	memmove(&l->longptr[i+1], &l->longptr[i], (l->nused-i)*sizeof(long));
-	l->longptr[i] = val;
+	Posn *pp;
+	void **vpp;
+	va_list list;
+
+
+	va_start(list, i);
+	switch(l->type){
+	case 'P':
+		growlist(l, sizeof(*pp));
+		pp = l->posnptr+i;
+		memmove(pp+1, pp, (l->nused-i)*sizeof(*pp));
+		*pp = va_arg(list, Posn);
+		break;
+	case 'p':
+		growlist(l, sizeof(*vpp));
+		vpp = l->voidpptr+i;
+		memmove(vpp+1, vpp, (l->nused-i)*sizeof(*vpp));
+		*vpp = va_arg(list, void*);
+		break;
+	}
+	va_end(list);
+
 	l->nused++;
 }
 
@@ -45,3 +81,16 @@ listfree(List *l)
 	free(l->listptr);
 	free(l);
 }
+
+List*
+listalloc(int type)
+{
+	List *l;
+
+	l = emalloc(sizeof(List));
+	l->type = type;
+	l->nalloc = 0;
+	l->nused = 0;
+
+	return l;
+}

+ 44 - 25
sys/src/cmd/sam/mesg.c

@@ -13,10 +13,18 @@ int	waitack;
 int	noflush;
 int	tversion;
 
-long	inlong(void);
-long	invlong(void);
 int	inshort(void);
+long	inlong(void);
+vlong	invlong(void);
 int	inmesg(Tmesg);
+
+void	outshort(int);
+void	outlong(long);
+void	outvlong(vlong);
+void	outcopy(int, void*);
+void	outsend(void);
+void	outstart(Hmesg);
+
 void	setgenstr(File*, Posn, Posn);
 
 #ifdef DEBUG
@@ -90,12 +98,22 @@ journaln(int out, long n)
 {
 	char buf[32];
 
-	sprint(buf, "%ld", n);
+	snprint(buf, sizeof(buf), "%ld", n);
+	journal(out, buf);
+}
+
+void
+journalv(int out, vlong v)
+{
+	char buf[32];
+
+	sprint(buf, sizeof(buf), "%lld", v);
 	journal(out, buf);
 }
 #else
 #define	journal(a, b)
 #define journaln(a, b)
+#define journalv(a, b)
 #endif
 
 int
@@ -176,6 +194,7 @@ inmesg(Tmesg type)
 	int i, m;
 	short s;
 	long l, l1;
+	vlong v;
 	File *f;
 	Posn p0, p1, p;
 	Range r;
@@ -204,15 +223,15 @@ inmesg(Tmesg type)
 		break;
 
 	case Tstartcmdfile:
-		l = invlong();		/* for 64-bit pointers */
-		journaln(0, l);
+		v = invlong();		/* for 64-bit pointers */
+		journalv(0, v);
 		Strdupl(&genstr, samname);
 		cmd = newfile();
 		cmd->unread = 0;
-		outTsv(Hbindname, cmd->tag, l);
+		outTsv(Hbindname, cmd->tag, v);
 		outTs(Hcurrent, cmd->tag);
 		logsetname(cmd, &genstr);
-		cmd->rasp = emalloc(sizeof(List));
+		cmd->rasp = listalloc('P');
 		cmd->mod = 0;
 		if(cmdstr.n){
 			loginsert(cmd, 0L, cmdstr.s, cmdstr.n);
@@ -263,7 +282,7 @@ inmesg(Tmesg type)
 		termlocked++;
 		f = whichfile(inshort());
 		if(!f->rasp)	/* this might be a duplicate message */
-			f->rasp = emalloc(sizeof(List));
+			f->rasp = listalloc('P');
 		current(f);
 		outTsv(Hbindname, f->tag, invlong());	/* for 64-bit pointers */
 		outTs(Hcurrent, f->tag);
@@ -353,11 +372,11 @@ inmesg(Tmesg type)
 		break;
 
 	case Tstartnewfile:
-		l = invlong();
+		v = invlong();
 		Strdupl(&genstr, empty);
 		f = newfile();
-		f->rasp = emalloc(sizeof(List));
-		outTsv(Hbindname, f->tag, l);
+		f->rasp = listalloc('P');
+		outTsv(Hbindname, f->tag, v);
 		logsetname(f, &genstr);
 		outTs(Hcurrent, f->tag);
 		current(f);
@@ -593,16 +612,16 @@ inlong(void)
 	return n;
 }
 
-long
+vlong
 invlong(void)
 {
-	ulong n;
+	vlong v;
 	
-	n = (inp[7]<<24) | (inp[6]<<16) | (inp[5]<<8) | inp[4];
-	n = (n<<16) | (inp[3]<<8) | inp[2];
-	n = (n<<16) | (inp[1]<<8) | inp[0];
+	v = (inp[7]<<24) | (inp[6]<<16) | (inp[5]<<8) | inp[4];
+	v = (v<<16) | (inp[3]<<8) | inp[2];
+	v = (v<<16) | (inp[1]<<8) | inp[0];
 	inp += 8;
-	return n;
+	return v;
 }
 
 void
@@ -732,12 +751,12 @@ outTsl(Hmesg type, int s, Posn l)
 }
 
 void
-outTsv(Hmesg type, int s, Posn l)
+outTsv(Hmesg type, int s, vlong v)
 {
 	outstart(type);
 	outshort(s);
-	outvlong((void*)l);
-	journaln(1, l);
+	outvlong(v);
+	journalv(1, v);
 	outsend();
 }
 
@@ -773,14 +792,14 @@ outlong(long l)
 }
 
 void
-outvlong(void *v)
+outvlong(vlong v)
 {
 	int i;
-	ulong l;
 
-	l = (ulong) v;
-	for(i = 0; i < 8; i++, l >>= 8)
-		*outp++ = l;
+	for(i = 0; i < 8; i++){
+		*outp++ = v;
+		v >>= 8;
+	}
 }
 
 void

+ 3 - 3
sys/src/cmd/sam/multi.c

@@ -1,6 +1,6 @@
 #include "sam.h"
 
-List	file;
+List	file = { 'p' };
 ushort	tag;
 
 File *
@@ -9,7 +9,7 @@ newfile(void)
 	File *f;
 
 	f = fileopen();
-	inslist(&file, 0, (long)f);
+	inslist(&file, 0, f);
 	f->tag = tag++;
 	if(downloaded)
 		outTs(Hnewname, f->tag);
@@ -88,7 +88,7 @@ sortname(File *f)
 				break;
 		}
 	}
-	inslist(&file, i, (long)f);
+	inslist(&file, i, f);
 	if(downloaded)
 		outTsS(Hmovname, f->tag, &f->name);
 }

+ 1 - 1
sys/src/cmd/sam/rasp.c

@@ -177,7 +177,7 @@ raspinsert(File *f, uint p1, Rune *buf, uint n, int toterm)
 }
 
 #define	M	0x80000000L
-#define	P(i)	r->longptr[i]
+#define	P(i)	r->posnptr[i]
 #define	T(i)	(P(i)&M)	/* in terminal */
 #define	L(i)	(P(i)&~M)	/* length of this piece */
 

+ 5 - 5
sys/src/cmd/sam/sam.c

@@ -14,7 +14,7 @@ File	*curfile;
 File	*flist;
 File	*cmd;
 jmp_buf	mainloop;
-List	tempfile;
+List	tempfile = { 'p' };
 int	quitok = TRUE;
 int	downloaded;
 int	dflag;
@@ -73,7 +73,6 @@ void main(int argc, char *argv[])
 	Strinit0(&genstr);
 	Strinit0(&rhs);
 	Strinit0(&curwd);
-	tempfile.listptr = emalloc(1);	/* so it can be freed later */
 	Strinit0(&plan9cmd);
 	home = getenv(HOME);
 	disk = diskinit();
@@ -707,10 +706,11 @@ void
 settempfile(void)
 {
 	if(tempfile.nalloc < file.nused){
-		free(tempfile.listptr);
-		tempfile.listptr = emalloc(sizeof(*tempfile.filepptr)*file.nused);
+		if(tempfile.filepptr)
+			free(tempfile.filepptr);
+		tempfile.filepptr = emalloc(sizeof(File*)*file.nused);
 		tempfile.nalloc = file.nused;
 	}
+	memmove(tempfile.filepptr, file.filepptr, sizeof(File*)*file.nused);
 	tempfile.nused = file.nused;
-	memmove(&tempfile.filepptr[0], &file.filepptr[0], file.nused*sizeof(File*));
 }

+ 13 - 20
sys/src/cmd/sam/sam.h

@@ -64,28 +64,26 @@ struct String
 	Rune	*s;
 };
 
-struct List	/* code depends on a long being able to hold a pointer */
+struct List
 {
+	int	type;
 	int	nalloc;
 	int	nused;
 	union{
-		void	*listp;
-		Block	*blkp;
-		long	*longp;
-		uchar*	*ucharp;
-		String*	*stringp;
-		File*	*filep;
-		long	listv;
+		void*	listp;
+		Block*	blkp;
+		void**	voidp;
+		Posn*	posnp;
+		String**stringp;
+		File**	filep;
 	}g;
 };
 
 #define	listptr		g.listp
-#define	blkptr		g.blkp
-#define	longptr		g.longp
-#define	ucharpptr	g.ucharp
+#define	voidpptr	g.voidp
+#define	posnptr		g.posnp
 #define	stringpptr	g.stringp
 #define	filepptr	g.filep
-#define	listval		g.listv
 
 enum
 {
@@ -262,8 +260,9 @@ File	*getfile(String*);
 int	getname(File*, String*, int);
 long	getnum(int);
 void	hiccough(char*);
-void	inslist(List*, int, long);
+void	inslist(List*, int, ...);
 Address	lineaddr(Posn, Address, int);
+List	*listalloc(int);
 void	listfree(List*);
 void	load(File*);
 File	*lookfile(String*);
@@ -396,11 +395,5 @@ void	outTsS(Hmesg, int, String*);
 void	outTsllS(Hmesg, int, long, long, String*);
 void	outTsll(Hmesg, int, long, long);
 void	outTsl(Hmesg, int, long);
-void	outTsv(Hmesg, int, long);
-void	outstart(Hmesg);
-void	outcopy(int, void*);
-void	outshort(int);
-void	outlong(long);
-void	outvlong(void*);
-void	outsend(void);
+void	outTsv(Hmesg, int, vlong);
 void	outflush(void);

+ 18 - 18
sys/src/cmd/samterm/mesg.c

@@ -21,7 +21,7 @@ int	exiting;
 void	inmesg(Hmesg, int);
 int	inshort(int);
 long	inlong(int);
-long	invlong(int);
+vlong	invlong(int);
 void	hsetdot(int, long, long);
 void	hmoveto(int, long);
 void	hsetsnarf(int);
@@ -323,7 +323,7 @@ clrlock(void)
 void
 startfile(Text *t)
 {
-	outTsv(Tstartfile, t->tag, t);		/* for 64-bit pointers */
+	outTsv(Tstartfile, t->tag, (vlong)t);	/* for 64-bit pointers */
 	setlock();
 }
 
@@ -331,7 +331,7 @@ void
 startnewfile(int type, Text *t)
 {
 	t->tag = Untagged;
-	outTv(type, t);				/* for 64-bit pointers */
+	outTv(type, (vlong)t);			/* for 64-bit pointers */
 }
 
 int
@@ -347,15 +347,15 @@ inlong(int n)
 		((long)indata[n+2]<<16)|((long)indata[n+3]<<24);
 }
 
-long
+vlong
 invlong(int n)
 {
-	long l;
+	vlong v;
 
-	l = (indata[n+7]<<24) | (indata[n+6]<<16) | (indata[n+5]<<8) | indata[n+4];
-	l = (l<<16) | (indata[n+3]<<8) | indata[n+2];
-	l = (l<<16) | (indata[n+1]<<8) | indata[n];
-	return l;
+	v = (indata[n+7]<<24) | (indata[n+6]<<16) | (indata[n+5]<<8) | indata[n+4];
+	v = (v<<16) | (indata[n+3]<<8) | indata[n+2];
+	v = (v<<16) | (indata[n+1]<<8) | indata[n];
+	return v;
 }
 
 void
@@ -410,19 +410,19 @@ outTsl(Tmesg type, int s1, long l1)
 }
 
 void
-outTsv(Tmesg type, int s1, void *l1)
+outTsv(Tmesg type, int s1, vlong v1)
 {
 	outstart(type);
 	outshort(s1);
-	outvlong(l1);
+	outvlong(v1);
 	outsend();
 }
 
 void
-outTv(Tmesg type, void *l1)
+outTv(Tmesg type, vlong v1)
 {
 	outstart(type);
-	outvlong(l1);
+	outvlong(v1);
 	outsend();
 }
 
@@ -490,15 +490,15 @@ outlong(long l)
 }
 
 void
-outvlong(void *v)
+outvlong(vlong v)
 {
 	int i;
-	ulong l;
 	uchar buf[8];
 
-	l = (ulong) v;
-	for(i = 0; i < sizeof(buf); i++, l >>= 8)
-		buf[i] = l;
+	for(i = 0; i < sizeof(buf); i++){
+		buf[i] = v;
+		v >>= 8;
+	}
 
 	outcopy(8, buf);
 }

+ 3 - 3
sys/src/cmd/samterm/samterm.h

@@ -169,11 +169,11 @@ void	outTl(Tmesg, long);
 void	outTslS(Tmesg, int, long, Rune*);
 void	outTsll(Tmesg, int, long, long);
 void	outTsl(Tmesg, int, long);
-void	outTsv(Tmesg, int, void*);
-void	outTv(Tmesg, void*);
+void	outTsv(Tmesg, int, vlong);
+void	outTv(Tmesg, vlong);
 void	outstart(Tmesg);
 void	outcopy(int, uchar*);
 void	outshort(int);
 void	outlong(long);
-void	outvlong(void*);
+void	outvlong(vlong);
 void	outsend(void);

+ 49 - 43
sys/src/cmd/troff2html/troff2html.c

@@ -7,13 +7,16 @@ enum{
 	Wid = 20,	/* tmac.anhtml sets page width to 20" so we can recognize .nf text */
 };
 
-typedef ulong Char;
+typedef uintptr Char;
 typedef struct Troffchar Troffchar;
 typedef struct Htmlchar Htmlchar;
 typedef struct Font Font;
 typedef struct HTMLfont HTMLfont;
 
-/* a Char is 32 bits. low 16 bits are the rune. higher are attributes */
+/*
+ * a Char is >= 32 bits. low 16 bits are the rune. higher are attributes.
+ * must be able to hold a pointer.
+ */
 enum
 {
 	Italic	=	16,
@@ -66,56 +69,56 @@ struct HTMLfont{
 /* R must be first; it's the default representation for fonts we don't recognize */
 HTMLfont htmlfonts[] =
 {
-	"R",			nil,		0,
-	"LucidaSans",	nil,		0,
-	"I",			"i",	Italic,
+	"R",		nil,	0,
+	"LucidaSans",	nil,	0,
+	"I",		"i",	Italic,
 	"LucidaSansI",	"i",	Italic,
-	"CW",		"tt",		CW,
-	"LucidaCW",	"tt",		CW,
+	"CW",		"tt",	CW,
+	"LucidaCW",	"tt",	CW,
 	nil,	nil,
 };
 
 #define TABLE "<table border=0 cellpadding=0 cellspacing=0>"
 
 char*
-onattr[8*sizeof(ulong)] =
+onattr[8*sizeof(int)] =
 {
 	0, 0, 0, 0, 0, 0, 0, 0,
 	0, 0, 0, 0, 0, 0, 0, 0,
-	"<i>",	/* italic */
-	"<b>",	/* bold */
+	"<i>",			/* italic */
+	"<b>",			/* bold */
 	"<tt><font size=+1>",	/* cw */
-	"<+table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>\n",	/* indent1 */
-	"<+table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>\n",	/* indent2 */
-	"<+table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>\n",	/* indent3 */
+	"<+table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>\n",		/* indent1 */
+	"<+table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>\n",		/* indent2 */
+	"<+table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>\n",		/* indent3 */
 	0,
 	0,
 	0,
 	"<p><font size=+1><b>",	/* heading 25 */
-	"<unused>",	/* anchor 26 */
+	"<unused>",		/* anchor 26 */
 };
 
 char*
-offattr[8*sizeof(ulong)] =
+offattr[8*sizeof(int)] =
 {
 	0, 0, 0, 0, 0, 0, 0, 0,
 	0, 0, 0, 0, 0, 0, 0, 0,
-	"</i>",	/* italic */
-	"</b>",	/* bold */
-	"</font></tt>",	/* cw */
-	"<-/table>",	/* indent1 */
-	"<-/table>",	/* indent2 */
-	"<-/table>",	/* indent3 */
+	"</i>",			/* italic */
+	"</b>",			/* bold */
+	"</font></tt>",		/* cw */
+	"<-/table>",		/* indent1 */
+	"<-/table>",		/* indent2 */
+	"<-/table>",		/* indent3 */
 	0,
 	0,
 	0,
-	"</b></font>",	/* heading 25 */
-	"</a>",	/* anchor 26 */
+	"</b></font>",		/* heading 25 */
+	"</a>",			/* anchor 26 */
 };
 
-Font *font[Nfont];
+Font	*font[Nfont];
 
-Biobuf bout;
+Biobuf	bout;
 int	debug = 0;
 
 /* troff state */
@@ -126,16 +129,16 @@ int	hp = 0;
 int	ps = 1;
 int	res = 720;
 
-int		didP = 0;
-int		atnewline = 1;
-int		prevlineH = 0;
-ulong	attr = 0;	/* or'ed into each Char */
+int	didP = 0;
+int	atnewline = 1;
+int	prevlineH = 0;
+Char	attr = 0;	/* or'ed into each Char */
 
-Char		*chars;
-int		nchars;
-int		nalloc;
+Char	*chars;
+int	nchars;
+int	nalloc;
 char**	anchors;	/* allocated in order */
-int		nanchors;
+int	nanchors;
 
 char	*filename;
 int	cno;
@@ -245,7 +248,7 @@ main(int argc, char *argv[])
 }
 
 void
-emitul(ulong ul)
+emitchar(Char c)
 {
 	if(nalloc == nchars){
 		nalloc += 10000;
@@ -253,13 +256,13 @@ emitul(ulong ul)
 		if(chars == nil)
 			sysfatal("malloc failed: %r");
 	}
-	chars[nchars++] = ul;
+	chars[nchars++] = c;
 }
 
 void
 emit(Rune r)
 {
-	emitul(r | attr);
+	emitchar(r | attr);
 	/*
 	 * Close man page references early, so that 
 	 * .IR proof (1),
@@ -272,8 +275,8 @@ emit(Rune r)
 void
 emitstr(char *s)
 {
-	emitul(Estring);
-	emitul((ulong)s);
+	emitchar(Estring);
+	emitchar((Char)s);
 }
 
 int indentlevel;
@@ -312,9 +315,10 @@ iputs(Biobuf *b, char *s)
 }
 
 void
-setattr(ulong a)
+setattr(Char a)
 {
-	int on, off, i, j;
+	Char on, off;
+	int i, j;
 
 	on = a & ~attr;
 	off = attr & ~a;
@@ -348,6 +352,8 @@ setattr(ulong a)
 			if(j == Anchor)
 				onattr[j] = anchors[nanchors++];
 			iputs(&bout, onattr[j]);
+			if(nnest >= nelem(nest))
+				sysfatal("nesting too deep");
 			nest[nnest++] = j;
 		}
 	}
@@ -358,7 +364,7 @@ void
 flush(void)
 {
 	int i;
-	ulong c, a;
+	Char c, a;
 
 	nanchors = 0;
 	for(i=0; i<nchars; i++){
@@ -561,12 +567,12 @@ xcmd(Biobuf *b)
 			}
 		}else if(strcmp(fld[2], "manPP") == 0){
 			didP = 1;
-			emitul(Epp);
+			emitchar(Epp);
 		}else if(nfld<4 || strcmp(fld[2], "manref")!=0){
 			if(nfld>2 && strcmp(fld[2], "<P>")==0){	/* avoid triggering extra <br> */
 				didP = 1;
 				/* clear all font attributes before paragraph */
-				emitul(' ' | (attr & ~(0xFFFF|((1<<Italic)|(1<<Bold)|(1<<CW)))));
+				emitchar(' ' | (attr & ~(0xFFFF|((1<<Italic)|(1<<Bold)|(1<<CW)))));
 				emitstr("<P>");
 				/* next emittec char will turn font attributes back on */
 			}else if(nfld>2 && strcmp(fld[2], "<H4>")==0)

+ 2 - 0
sys/src/cmd/venti/dat.h

@@ -502,3 +502,5 @@ extern	int		queueWrites;		/* put all lump writes on a queue and finish later */
 extern	int		readonly;		/* only allowed to read the disk data */
 extern	Stats		stats;
 extern	u8int		zeroScore[VtScoreSize];
+
+extern	int		chattyzero;

+ 3 - 0
sys/src/cmd/venti/fmtarenas.c

@@ -29,6 +29,9 @@ main(int argc, char *argv[])
 	tabSize = 64 * 1024;		/* BUG: should be determine from number of arenas */
 	zero = 1;
 	ARGBEGIN{
+	case 'd':
+		chattyzero++;
+		break;
 	case 'a':
 		asize = unittoull(ARGF());
 		if(asize == TWID64)

+ 3 - 0
sys/src/cmd/venti/fmtisect.c

@@ -26,6 +26,9 @@ main(int argc, char *argv[])
 	setSize = 64 * 1024;
 	zero = 1;
 	ARGBEGIN{
+	case 'd':
+		chattyzero++;
+		break;
 	case 'b':
 		blockSize = unittoull(ARGF());
 		if(blockSize == ~0)

+ 18 - 4
sys/src/cmd/venti/zeropart.c

@@ -2,27 +2,41 @@
 #include "dat.h"
 #include "fns.h"
 
+int chattyzero;
+
+enum
+{
+	HugeIoSize = 2*1024*1024
+};
 void
 zeroPart(Part *part, int blockSize)
 {
 	ZBlock *b;
 	u64int addr;
 	int w;
+	int iosize;
 
+	iosize = HugeIoSize;
+{char *p = getenv("XXXIOSIZE"); if(p) iosize = atoi(p); assert(iosize>0);}
 	fprint(2, "clearing the partition\n");
 
-	b = allocZBlock(MaxIoSize, 1);
+	b = allocZBlock(iosize, 1);
 
 	w = 0;
-	for(addr = PartBlank; addr + MaxIoSize <= part->size; addr += MaxIoSize){
-		if(!writePart(part, addr, b->data, MaxIoSize))
+	for(addr = PartBlank; addr + iosize <= part->size; addr += iosize){
+		if(!writePart(part, addr, b->data, iosize))
 			fatal("can't initialize %s, writing block %d failed: %r", part->name, w);
 		w++;
+		if(chattyzero)
+			print("%lld %lld\n", addr, part->size);
 	}
 
-	for(; addr + blockSize <= part->size; addr += blockSize)
+	for(; addr + blockSize <= part->size; addr += blockSize){
 		if(!writePart(part, addr, b->data, blockSize))
 			fatal("can't initialize %s: %r", part->name);
+		if(chattyzero)
+			print("%lld %lld\n", addr, part->size);
+	}
 
 	freeZBlock(b);
 }

+ 1 - 1
sys/src/cmd/vl/pass.c

@@ -133,7 +133,7 @@ dodata(void)
 				continue;
 			/* size should be 19 max */
 			if(strlen(s->name) >= 10)	/* has loader address */ 
-				sprint(literal, "$%lux.%lux", (long)s, p->from.offset);
+				sprint(literal, "$%p.%lux", s, p->from.offset);
 			else
 				sprint(literal, "$%s.%d.%lux", s->name, s->version, p->from.offset);
 		} else {

+ 1 - 2
sys/src/cmd/vnc/devcons.c

@@ -289,8 +289,7 @@ consclose(Chan *c)
 static long
 consread(Chan *c, void *buf, long n, vlong off)
 {
-	char *cbuf, ch;
-	int i, eol;
+	char ch;
 	int	send;
 
 	if(n <= 0)

+ 34 - 34
sys/src/cmd/webcookies.c

@@ -25,51 +25,51 @@ struct Cookie
 	char*	dom;		/* starts with . */
 	char*	path;
 	char*	version;
-	char*	comment;		/* optional, may be nil */
+	char*	comment;	/* optional, may be nil */
 
-	uint		expire;		/* time of expiration: ~0 means when webcookies dies */
-	int		secure;
-	int		explicitdom;	/* dom was explicitly set */
-	int		explicitpath;	/* path was explicitly set */
-	int		netscapestyle;
+	uint	expire;		/* time of expiration: ~0 means when webcookies dies */
+	int	secure;
+	int	explicitdom;	/* dom was explicitly set */
+	int	explicitpath;	/* path was explicitly set */
+	int	netscapestyle;
 
 	/* internal info */
-	int		deleted;
-	int		mark;
-	int		ondisk;
+	int	deleted;
+	int	mark;
+	int	ondisk;
 };
 
 struct Jar
 {
 	Cookie	*c;
-	int		nc;
-	int		mc;
+	int	nc;
+	int	mc;
 
-	Qid		qid;
-	int		dirty;
-	char		*file;
-	char		*lockfile;
+	Qid	qid;
+	int	dirty;
+	char	*file;
+	char	*lockfile;
 };
 
 struct {
-	char *s;
+	char	*s;
 	int	offset;
 	int	ishttp;
 } stab[] = {
 	"domain",		offsetof(Cookie, dom),		1,
-	"path",		offsetof(Cookie, path),		1,
-	"name",		offsetof(Cookie, name),		0,
-	"value",		offsetof(Cookie, value),		0,
-	"comment",	offsetof(Cookie, comment),	1,
-	"version",		offsetof(Cookie, version),		1,
+	"path",			offsetof(Cookie, path),		1,
+	"name",			offsetof(Cookie, name),		0,
+	"value",		offsetof(Cookie, value),	0,
+	"comment",		offsetof(Cookie, comment),	1,
+	"version",		offsetof(Cookie, version),	1,
 };
 
 struct {
 	char *s;
 	int	offset;
 } itab[] = {
-	"expire",			offsetof(Cookie, expire),
-	"secure",			offsetof(Cookie, secure),
+	"expire",		offsetof(Cookie, expire),
+	"secure",		offsetof(Cookie, secure),
 	"explicitdomain",	offsetof(Cookie, explicitdom),
 	"explicitpath",		offsetof(Cookie, explicitpath),
 	"netscapestyle",	offsetof(Cookie, netscapestyle),
@@ -110,7 +110,7 @@ cookiefmt(Fmt *fmt)
 
 	first = 1;
 	for(j=0; j<nelem(stab); j++){
-		t = *(char**)((ulong)c+stab[j].offset);
+		t = *(char**)((char*)c+stab[j].offset);
 		if(t == nil)
 			continue;
 		if(first)
@@ -120,7 +120,7 @@ cookiefmt(Fmt *fmt)
 		fmtprint(fmt, "%s=%q", stab[j].s, t);
 	}
 	for(j=0; j<nelem(itab); j++){
-		k = *(int*)((ulong)c+itab[j].offset);
+		k = *(int*)((char*)c+itab[j].offset);
 		if(k == 0)
 			continue;
 		if(first)
@@ -199,7 +199,7 @@ freecookie(Cookie *c)
 	int i;
 
 	for(i=0; i<nelem(stab); i++)
-		free(*(char**)((ulong)c+stab[i].offset));
+		free(*(char**)((char*)c+stab[i].offset));
 }
 
 void
@@ -209,7 +209,7 @@ copycookie(Cookie *c)
 	char **ps;
 
 	for(i=0; i<nelem(stab); i++){
-		ps = (char**)((ulong)c+stab[i].offset);
+		ps = (char**)((char*)c+stab[i].offset);
 		if(*ps)
 			*ps = estrdup9p(*ps);
 	}
@@ -297,14 +297,14 @@ addtojar(Jar *jar, char *line, int ondisk)
 		/* string attributes */
 		for(j=0; j<nelem(stab); j++){
 			if(strcmp(stab[j].s, attr) == 0){
-				pstr = (char**)((ulong)&c+stab[j].offset);
+				pstr = (char**)((char*)&c+stab[j].offset);
 				*pstr = val;
 			}
 		}
 		/* integer attributes */
 		for(j=0; j<nelem(itab); j++){
 			if(strcmp(itab[j].s, attr) == 0){
-				pint = (int*)((ulong)&c+itab[j].offset);
+				pint = (int*)((char*)&c+itab[j].offset);
 				if(val[0]=='\0')
 					*pint = 1;
 				else
@@ -933,7 +933,7 @@ parsecookie(Cookie *c, char *p, char **e, int isns, char *dom, char *path)
 		}
 		for(i=0; i<nelem(stab); i++)
 			if(stab[i].ishttp && cistrcmp(stab[i].s, attr)==0)
-				*(char**)((ulong)c+stab[i].offset) = val;
+				*(char**)((char*)c+stab[i].offset) = val;
 		if(cistrcmp(attr, "expires") == 0){
 			if(!isns)
 				return "non-netscape cookie has Expires tag";
@@ -1003,7 +1003,7 @@ fsopen(Req *r)
 	int i, sz;
 	Aux *a;
 
-	switch((int)r->fid->file->aux){
+	switch((uintptr)r->fid->file->aux){
 	case Xhttp:
 		syncjar(jar);
 		a = emalloc9p(sizeof(Aux));
@@ -1039,7 +1039,7 @@ fsread(Req *r)
 	Aux *a;
 
 	a = r->fid->aux;
-	switch((int)r->fid->file->aux){
+	switch((uintptr)r->fid->file->aux){
 	case Xhttp:
 		if(a->state == NeedUrl){
 			respond(r, "must write url before read");
@@ -1071,7 +1071,7 @@ fswrite(Req *r)
 	Jar *j;
 
 	a = r->fid->aux;
-	switch((int)r->fid->file->aux){
+	switch((uintptr)r->fid->file->aux){
 	case Xhttp:
 		if(a->state == NeedUrl){
 			if(r->ifcall.count >= sizeof buf){
@@ -1157,7 +1157,7 @@ fsdestroyfid(Fid *fid)
 	a = fid->aux;
 	if(a == nil)
 		return;
-	switch((int)fid->file->aux){
+	switch((uintptr)fid->file->aux){
 	case Xhttp:
 		parsehttp(jar, a->inhttp, a->dom, a->path);
 		break;

+ 4 - 6
sys/src/lib9p/file.c

@@ -310,13 +310,11 @@ alloctree(char *uid, char *gid, ulong mode, void (*destroy)(File*))
 	f = allocfile();
 	f->name = estrdup9p("/");
 	if(uid == nil){
-		if(uid = getuser())
-			uid = estrdup9p(uid);
+		uid = getuser();
+		if(uid == nil)
+			uid = "none";
 	}
-	if(uid == nil)
-		uid = estrdup9p("none");
-	else
-		uid = estrdup9p(uid);
+	uid = estrdup9p(uid);
 
 	if(gid == nil)
 		gid = estrdup9p(uid);

+ 3 - 0
sys/src/libc/68020/getcallerpc.s

@@ -0,0 +1,3 @@
+TEXT getcallerpc(SB), $0
+	MOVL	(a+0(FP)), R0
+	RTS

+ 1 - 0
sys/src/libc/68020/mkfile

@@ -4,6 +4,7 @@ objtype=68020
 LIB=/$objtype/lib/libc.a
 SFILES=\
 	argv0.s\
+	getcallerpc.$O\
 	getfcr.s\
 	main9.s\
 	main9p.s\

+ 3 - 0
sys/src/libc/arm/getcallerpc.s

@@ -0,0 +1,3 @@
+TEXT getcallerpc(SB), $-4
+	MOVW	0(R13), R0
+	RET

+ 1 - 0
sys/src/libc/arm/mkfile

@@ -5,6 +5,7 @@ LIB=/$objtype/lib/libc.a
 SFILES=\
 	argv0.s\
 	div.s\
+	getcallerpc.$O\
 	getfcr.s\
 	main9.s\
 	main9p.s\

+ 3 - 0
sys/src/libc/sparc/getcallerpc.s

@@ -0,0 +1,3 @@
+TEXT getcallerpc(SB), $0
+	MOVW	0(R1), R7
+	RETURN

+ 1 - 0
sys/src/libc/sparc/mkfile

@@ -4,6 +4,7 @@ objtype=sparc
 LIB=/$objtype/lib/libc.a
 SFILES=\
 	argv0.s\
+	getcallerpc.$O\
 	getfcr.s\
 	main9.s\
 	main9p.s\

+ 1 - 1
sys/src/libip/ptclbsum.c

@@ -17,7 +17,7 @@ ptclbsum(uchar *addr, int len)
 	mdsum = 0;
 
 	x = 0;
-	if((ulong)addr & 1) {
+	if((uintptr)addr & 1) {
 		if(len) {
 			hisum += addr[0];
 			len--;