Ron Heiby (The Moderator) <unix-request@cbosgd.UUCP> (03/14/85)
Unix Technical Digest Thu, 14 Mar 85 Volume 1 : Issue 20 Today's Topics: accessing libm.a via pascal Boot problems w/ new kernal and uda50 ctype_.o in /lib/libc.a wrong in 4.2BSD? Easy 50 ips on TU80 (4.2bsd /etc/dump) ---------------------------------------------------------------------- Date: 12 Mar 85 03:19:20 GMT From: gr@watcgl.UUCP (Gr Teaching Package) Subject: accessing libm.a via pascal Students in one of my courses are using Pascal under Berkeley 4.2. They need to access several functions in the math library, but there doesn't seem to be an efficient, warning free technique. It seems that ``pc'' knows about the ``libm.a'' functions because it gives a duplicate definition warning if one defines such a function as external as is normally done for user-defined, external procedures. In spite of the warning, the math routine is linked correctly. If the external definition is omitted, ``pc'' generates an error message about the undefined function. I know of 2 methods to get around the warning: 1) Call an intermediate C function, ``foo'' that calls the appropriate math library routine. 2) Simulate the math routine in Pascal. Unfortunately this won't work for a function like ``pow(x,y)'' because its internal code sets a PSW flag (via an asm directive) to ignore underflow (generated when 0<x<1 and y is quite large). Is there a clean, efficient solution to this problem, or will we have to live with the warning messages? Why does ``pc'' check ``libm.a'' definitions when it seemingly won't let the user call its functions directly? ------------------------------ Date: 8 Mar 85 20:44:31 GMT From: root@ncsu.UUCP (The Deity) Subject: Boot problems w/ new kernal and uda50 We have 3 brand new ra81 disc drives that were just installed on our vax11/780 (4.2bsd) here at NCSU. They were installed on uba0 and the new kernal compiles just fine, HOWEVER, when we attempt to boot on it, we get the following messages: ----------------------------------------------------------- >>>BOOT ANY CPU HALTED INIT SEQ DONE LOAD DONE, 00004C00 BYTES LOADED Boot : hp(0,0)vmunix.new 176460+62512+38416 start 0x11a4 ?INT-STK INVLD HALTED AT 8000CCCE >>> ----------------------------------------------------------- This has caused us considerable problems, and we have been unable to trace down the problem. We have been told that the error message is Interrupt-Stack Invalid. The uda50 for the ra81's is on the front end of uba0, and we also have a digital sound system installed (if that makes any difference). If you have ever seen or heard of anything like this please write back quickly (and send a phone number), or call me at home (919) 872-0494 over the weekend (collect, if necessary). Any help would be appreciated. As usual, thanks ahead of time. - jamie evans - decvax!mcnc!ncsu!jle - off: (919) 737-2336 ------------------------------ Date: 11 Mar 85 16:37:32 GMT From: dbr@cybvax0.UUCP (Douglas Robinson) Subject: ctype_.o in /lib/libc.a wrong in 4.2BSD? We have just noticed that the ascii 'SP' (or space, octal 040) is listed as a punctuation character under 4.2BSD. I checked with a V7 compatible system and found it to be listed as only a 'isspace' character NOT 'ispunct'. I strongly disagree to labelling 'SP' as a punctuation character, but before patching ctype_.o I would like to get some opinions. Please mail to me. I will summarize... Please - most importantly: will removing this from the list of punctuation characters break anything under 4.2BSD??? Sorry if this has been discussed before... we don't have enough space to archive discussion newsgroups. -- Doug Robinson Jobs don't kill programmers... programmers kill jobs! Cybermation, Inc. 617/492-8810 377 Putnam Avenue Cambridge, MA 02139 (USA) ...!{mit-eddie, harvard, mirror}!cybvax0!dbr ------------------------------ Date: 5 Feb 85 08:36:56 GMT From: Don Speck <speck@cit-vax.ARPA> Subject: Easy 50 ips on TU80 (4.2bsd /etc/dump) A TU80 will switch into 25 ips streaming mode iff it gets at least 15 back-to-back writes, and will then try to switch into 100 ips mode. Following is an easy patch to get 4.2bsd /etc/dump to stream a TU80 at 100 ips, every other second. It streams the tape for a second, then shakes the disk for a second, streams, shakes, ... giving an average throughput of about 50 ips. This was on a 750 with FPA, some raw I/O efficiency patches (coming soon), and kernel profiling compiled in. It will do no good on a 730 or a start/stop drive. Your speed and line numbers may vary. Don diff /usr/src/etc/dump/dumptape.c dumptu80.c 22c22,24 < tblock = (char (*)[TP_BSIZE])malloc(writesize); --- > #define CLUSTER 15 /* # of back-to-back writes to get TU80 streaming */ > ntrec *= CLUSTER; /* -- BEWARE -- when changing dumptape.c */ > tblock = (char (*)[TP_BSIZE])malloc(CLUSTER*writesize); 69,71c71,73 < < trecno = 0; < if (write(to, tblock[0], writesize) != writesize){ --- > char *wp = tblock[0]; > for (trecno=CLUSTER; --trecno>=0; wp+=writesize) > if (write(to, wp, writesize) != writesize){ 99,100c101,103 < asize += writesize/density; < asize += 7; --- > trecno = 0; > asize += CLUSTER*writesize/density; > asize += CLUSTER*10; /* TU80's usually stretch out IRG's */ ------------------------------ End of Unix Technical Digest ****************************** -- Ronald W. Heiby / ihnp4!{wnuxa!heiby|wnuxb!netnews} AT&T Information Systems, Inc. Lisle, IL (CU-D21)