keith@seismo.CSS.GOV (Keith Bostic) (08/31/85)
Information for people who have requested a 2.9BSD tape from The Center for Seismic Studies or Harvard University. ---------------------------------------------------------------------- O Happy Days... All of the tapes I have received as of 30 August 85 are in the mail. Therefore, if you haven't received a tape from me by the end of next week, you probably want to let me know immediately. If anyone's interested, I've sent out around 100 tapes so far. Which brings up a slightly more painful subject. I will be posting, to net.bugs.2bsd, as often as necessary, a list of problems/explanations. Otherwise known as Where Bostic Messed Up, or, perhaps, Why They Done What They Did. I am also mailing this first posting to my list of people known to have an unhealthy interest in 2.9BSD. If you DO NOT receive net.bugs.2bsd at your site, please send me mail letting me know this and your favorite e-mail address. I will then add you to a mailing list at seismo that distributes copies of all postings to net.bugs.2bsd. Please do this immediately, and continue to send me mail until I respond. Otherwise you won't get the copies of the stuff people send to Usenet. Also, I know I keep repeating this, but we are actively seeking out bug reports -- we expect this system to work and we want to know when it doesn't. Well, on to the good stuff! Keith Bostic keith@seismo.CSS.GOV seismo!keith 703-276-7900 ---------------------------------------------------------------------- Bug/Question: Where or what is isr.o? Answer: sys/conf/makefiles/Make.sys and sys/conf/makefiles/Makefile think that you need to have a file called isr.[so] in the sys/sys directory. They're wrong. It can be removed totally. Here are the diffs. diff Make.sys.wrong Make.sys.right 25,30c25 < all: ${SYS} ${CONF} isr.o < < isr.o: ../sys/isr.s < ${CPP} ${CPPFLAGS} ../sys/isr.s > isr.i < ${AS} -o isr.o isr.i < -rm isr.i --- > all: ${SYS} ${CONF} diff Makefile.wrong Makefile.right 66c66 < dz.o isr.o --- > dz.o 89c89 < tm.o ts.o tty.o ttynew.o ttyold.o xp.o vp.o dr.o isr.o --- > tm.o ts.o tty.o ttynew.o ttyold.o xp.o vp.o dr.o ---------------------------------------------------------------------- Bug/Question: Localopts.h doesn't define MENLO_JCL and UCB_SYMLINKS anymore. Answer: This is not a bug. These two defines (I think they were the only two) have been removed from the includes and source files. Basically, you don't have a choice as to whether they are turned on or not, they are on all the time. They have been left in the namelist, though, so no software should break. ---------------------------------------------------------------------- Bug/Question: If you define UCB_SUBM in localopts.h routines like acct.c and slp.c you don't have a flag SSUBM defined anywhere. Answer: Well, as far as I can tell, SSUBM was never defined, so your guess as to what it should be is as good as anyone elses. UCB_SUBM is a 2.9 specific define that has to do with the submit(2) and killbkg(2) calls in the C library. Since the calls are not implemented in 4.[23], I suspect that it will go away in my version of 2.9 and any future releases Harvard and/or I make in the future. Job control and "stty nohang" pretty much cover the ground. ---------------------------------------------------------------------- Bug/Question: Where is include/sys.s? Answer: Ulp, missed that one. It's included below, or you can take the one from your 2.9 distribution tape, either one will work fine. ... cut here for include/sys.s ... indir = 0. exit = 1. fork = 2. read = 3. write = 4. open = 5. close = 6. wait = 7. creat = 8. link = 9. unlink = 10. exec = 11. chdir = 12. time = 13. mknod = 14. chmod = 15. chown = 16. break = 17. stat = 18. lseek = 19. getpid = 20. mount = 21. umount = 22. setuid = 23. getuid = 24. stime = 25. ptrace = 26. alarm = 27. fstat = 28. pause = 29. utime = 30. smdate = 30. stty = 31. gtty = 32. access = 33. nice = 34. sleep = 35. ftime = 35. sync = 36. kill = 37. csw = 38. setpgrp = 39. dup = 41. pipe = 42. times = 43. profil = 44. getgrp = 45. setgid = 46. getgid = 47. signal = 48. rtp = 49. setgrp = 50. acct = 51. phys = 52. lock = 53. ioctl = 54. reboot = 55. mpx = 56. vfork = 57. setinf = 59. exece = 59. local = 58. / local system call indirect umask = 60. getinf = 60. chroot = 61. / local system calls login = 1. / mark login process lstat = 2. / like stat, but don't follow symbolic links submit = 3. / submit nostk = 4. / release stack segment killbkg = 5. / kill background processes killpg = 6. / kill process group renice = 7. / change a process's nice fetchi = 8. / fetch from user I space ucall = 9. / call a kernel subroutine quota = 10. / set quota qfstat = 11. / long fstat (for quotas) qstat = 12. / long stat (for quotas) gldav = 14. / get load average fperr = 15. / read floating point error registers vhangup = 16. / virtually hang up a control terminal select = 18. / select active fd gethost = 19. / get host name sethost = 20. / set host name socket = 21. / get socket fd connect = 22. / connect socket accept = 23. / accept socket connection send = 24. / send datagram receive = 25. / receive datagram socketa = 26. / get socket address setreuid = 27. / set real user id setregid = 28. / set real group id symlink = 29. / create symbolic link readlink = 30. / read symbolic link gethstid = 31. / get host id sethstid = 32. / set host id getgroups = 33. / get list of user's groups setgroups = 34. / set list of user's groups getdtablesize = 35. / get descriptor table size ---------------------------------------------------------------------- Bug/Question: libcurses compiles fine, ld complains about some missing signal calls. Answer: True, so true. The solution is to comment out the calls, honest. Here is the diff. *** tstp.c.right Mon Aug 26 00:18:33 1985 --- tstp.c.wrong Fri Jun 7 11:17:28 1985 *************** *** 32,38 endwin(); fflush(stdout); /* reset signal handler so kill below stops us */ signal(SIGTSTP, SIG_DFL); #define mask(s) (1 << ((s)-1)) omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); --- 32,37 ----- endwin(); fflush(stdout); /* reset signal handler so kill below stops us */ + #ifndef pdp11 signal(SIGTSTP, SIG_DFL); #define mask(s) (1 << ((s)-1)) omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); *************** *** 36,42 signal(SIGTSTP, SIG_DFL); #define mask(s) (1 << ((s)-1)) omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); kill(0, SIGTSTP); #ifndef pdp11 sigblock(mask(SIGTSTP)); --- 35,40 ----- signal(SIGTSTP, SIG_DFL); #define mask(s) (1 << ((s)-1)) omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); + #endif !pdp11 kill(0, SIGTSTP); sigblock(mask(SIGTSTP)); signal(SIGTSTP, tstp); *************** *** 38,44 omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); #endif !pdp11 kill(0, SIGTSTP); sigblock(mask(SIGTSTP)); #endif pdp11 signal(SIGTSTP, tstp); --- 36,41 ----- #define mask(s) (1 << ((s)-1)) omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); kill(0, SIGTSTP); + #ifndef pdp11 sigblock(mask(SIGTSTP)); signal(SIGTSTP, tstp); _tty = tty; *************** *** 40,46 kill(0, SIGTSTP); #ifndef pdp11 sigblock(mask(SIGTSTP)); signal(SIGTSTP, tstp); _tty = tty; stty(_tty_ch, &_tty); --- 37,42 ----- omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); kill(0, SIGTSTP); sigblock(mask(SIGTSTP)); + #endif pdp11 signal(SIGTSTP, tstp); _tty = tty; stty(_tty_ch, &_tty); ---------------------------------------------------------------------- Bug/Question: The vi editor doesn't reset the terminal when you exit. Answer: Yup. The -V flag wasn't getting passed to the Makefile. Diffs for ucb/MAKE follow. diff MAKE.wrong MAKE.right 105c105 < whois | ftp | netstat | talk | tftp) --- > whois | ex | ftp | netstat | talk | tftp) 107,108d106 < ex) < (cd $each; $CDOVMK) ;; ----------------------------------------------------------------------