Path: utzoo!attcan!uunet!mailrus!uwm.edu!dogie.macc.wisc.edu!decwrl! sgi!...@maddog.sgi.com From: j...@maddog.sgi.com (Jim Barton) Newsgroups: comp.sys.sgi Subject: IRIX 3.2 Release Notes (Part 1 of 3) Message-ID: <44982@sgi.sgi.com> Date: 19 Nov 89 18:38:54 GMT Sender: j...@maddog.sgi.com Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 1127 Enclosed as a copy of the relevant portions of the 3.2 release notes which come with every 3.2 release (you can get these with the "relnotes" command). It is broken in three parts, because of the size. Glue them together before using. I've taken the liberty of compressing the output by removing extraneous empty lines. These are chapters 3, 4, 5, 6, 7 and 8. One thing unmentioned in the release notes is a development caveat that we follow that I believe you will find out when running the system: the next release has to be at least as fast as the last one (and it had damn well better be faster!). These release notes are: Copyright (c) 1989 Silicon Graphics Computer Systems All Rights Reserved -- Jim Barton Silicon Graphics Computer Systems "UNIX: Live Free Or Die!" j...@sgi.com, sgi!...@decwrl.dec.com, ...{decwrl,sun}!sgi!jmb ------------------- cut here --------------------- IRIX 3.2 Release Notes, as posted to USENET in comp.sys.sgi (Part 1 of 3) Copyright (c) 1989 Silicon Graphics Computer Systems All Rights Reserved >>>>>>>>>> 3.2 Release notes, Chapter 3 >>>>>>>>>> - 1 - 3. Major_Enhancements_and_Compatibility This chapter describes the major enhancements of the 4D1-3.2 software release, summarizes compatibility issues for the program development tools, and provides a description of the subsystems provided with this release. This chapter is divided into the following sections: o Major Enhancements o Compatibility of Program Development Tools o Description of 4D1-3.2 Subsystems - 2 - 3.1 Major_Enhancements 3.1.1 Software_Enhancements The 4D1-3.2 release provides these major software enhancements: o The IRIS WorkspaceTM The Workspace is a graphically organized iconic interface to UNIXTM that allows quick and easy access to the file system. System administration tasks are greatly simplified via the System Manager, which is included in the Workspace package. o Visual Login The console login now is visual by default. See pandora(1) and the IRIS-4D System Administrator's Guide for information about configuring the console login. o Visual Administration/System Manager The System Manager offers a suite of icon-driven tools for administering the UNIX system under the IRIX Workspace. The System Manager is built on top of standard UNIX commands and file formats. Using those standard commands directly will not interfere with the System Manager. o QuickPaintTM (by Alias Research) QuickPaint is a color paint program employing a rich variety of brush types, sizes, and shapes, as well as many brush functions. o QuickModelTM (by Alias Research) QuickModel is a 3-D modeling package that gives the user the ability to quickly create solid objects, render them, and interactively view them in real time. o Personal VisualizerTM (Wavefront's renderer) The Personal Visualizer is a rendering package that allows the user to import 3-D models and create photorealistic renditions of them under different lighting, material, and other scene characteristics. The Personal Visualizer features ray tracing capabilities. - 3 - o NURBS NURBS is a major new GL feature that allows direct rendering of Trimmed Non-Uniform Rational B-Spline Surfaces. This new feature is offered through a combination of software, firmware, and hardware on all 4D platforms. o Logical Operations (Personal IRIS only) Logical operations (logicop) is a new GL feature that allows GL application to perform boolean pixel operations. o User-level SCSI devices drivers. See ds(7M) in the IRIS-4D Programmer's Reference Manual for more information. o Support for the use of all serial ports on Power Series systems. 3.1.2 Hardware_Enhancements The 4D1-3.2 release provides support for the following hardware and firmware: o 4D/210GTX 4D/210S A new member of the Power Series. It has a single processor MIPS R3000/R3010 running 25 MHz. o Personal IRIS Turbo New 20 Mhz CPU board with higher performance. Two surface mount daughter boards added to GR1 to increase the graphics performance. o RE2 New Raster Engine chip is supported on Personal Iris models including Turbo. It has the following new features: logical operations on a Personal IRIS, pixel unpacking, screen mask, better antialiased lines. o Diskless Workstations without hard disks. The 4D/20 and 4D/25 can both operate as diskless workstations. Diskless workstations require special installation. o SCSI 1/2" Tape - (Personal IRIS only). o Industry Standard (IBM compatible) floppy disk drive - Personal IRIS only. - 4 - 3.2 Compatibility_of_Program_Development_Tools The following tables describe compatibility between software releases 4D1-3.1 and 4D1-3.2 and between releases 4D1-2.0 and 4D1-3.2. In these tables, source means source files, whether FORTRAN, C, or another language. Application libraries means not only archive libraries of object files (.o files), but also individual object files. Executables means executable binaries (not shell command files). Release 4D1-3.2 is compatible with release 4D1-3.1 with one exception: programs linked under release 4D1-3.1 using the shared library /usr/lib/libfm_s.a which were not also linked with the shared library /usr/lib/libgl_s.a must be relinked to run under release 4D1-3.2. Binaries linked with the non-shared versions of libfm.a or libgl must be relinked. 3.2.1 Upwards_Compatibility _______________________________________________________ | |_________________________________________| |4D1-3.1 | Compilation | Tools | Execution | |Generated | Environment | Environment | Environment | | | (cc, f77, | (nm, | | | | ar, ld) | strip, | | | | | dbx, edge, | | | | | lint, | | | | | stdump, | | | | | size, dis) | | _______________________________________________________| |____________|_____________|_____________|_____________| |application | yes | yes | yes | |libraries | | | | | | | | | |____________|_____________|_____________|_____________| |executables | NA | yes | yes, | | | | | unless the | | | | | non-shared | | | | | versions | | | | | of libgl.a | | | | | or libfm.a | |____________|_____________|_____________|_____________| - 5 - _______________________________________________________ | |_________________________________________| |4D1-3.0 | Compilation | Tools | Execution | |Generated | Environment | Environment | Environment | | | (cc, f77, | (nm, | | | | ar, ld) | strip, | | | | | dbx, edge, | | | | | lint, | | | | | stdump, | | | | | size, dis) | | _______________________________________________________| |____________|_____________|_____________|_____________| |application | yes | No for nm, | yes | |libraries | | dbx, edge, | | | | | stdump, | | | | | dis. Yes | | | | | for strip, | | | | | size | | | | | | | |____________|_____________|_____________|_____________| |executables | NA | No for nm, | yes, | | | | dbx, edge, | unless the | | | | stdump, | non-shared | | | | dis. Yes | versions | | | | for strip, | of libgl.a | | | | size | or libfm.a | |____________|_____________|_____________|_____________| - 6 - _______________________________________________________ | |_________________________________________| |4D1-2.0 | Compilation | Tools | Execution | |Generated | Environment | Environment | Environment | | | (cc, f77, | (nm, | | | | ar, ld) | strip, | | | | | dbx, edge, | | | | | lint, | | | | | stdump, | | | | | size, dis) | | _______________________________________________________| |____________|_____________|_____________|_____________| |application | yes | No for nm, | yes | |libraries | | dbx, edge, | | | | | stdump, | | | | | dis. Yes | | | | | for strip, | | | | | size | | | | | | | |____________|_____________|_____________|_____________| |executables | NA | No for nm, | No if | | | | dbx, edge, | graphics. | | | | stdump, | Yes | | | | dis. Yes | otherwise. | | | | for strip, | | |____________|_____________|_____________|_____________| 3.2.2 Backwards_Compatibility You can safely assume that software generated in 4D1-3.2 will not work with previous system software releases. - 7 - 3.3 Description_of_4D1-3.2_Subsystems 3.3.0.1 Execution_Only_Environment_Tape_1 eoe1.sw.acct This is the System V Process Accounting package. It is used to monitor system resource usage on a per-user basis. When Process Accounting is installed and turned on, a record is kept of every command that is executed along with data on the resources the command used. Report generating scripts are then run which produce periodic reports of system utilization. This package is useful when it is desired to monitor usage patterns in systems with large numbers of users. eoe1.sw.cdsio This is the driver for the VME Serial Expansion board. It is required for systems with that option installed. eoe1.sw.crypt This subsystem contains the crypt and makekey programs which, along with the editors ed and vi, implement a simple text encryption system. eoe1.sw.dfm This is a subset of IRIX utilities dealing with directory and file management. It is generally required in all systems. eoe1.sw.editors This subsystem contains the standard IRIX text editors and is generally required on all systems. eoe1.sw.hyper This is the driver for the HyperNet VME interface and is required only on systems with that option installed. eoe1.sw.ikc This is the driver for the VME Parallel Expansion interface and is required only by systems with that option installed. - 8 - eoe1.sw.ipc This subsystem contains utilities useful in controlling the System V Inter Process Communications facility. It consists of two utilities: ipcrm and ipcs. eoe1.sw.lp This subsystem contains the Line Printer Spooling package and is required on any system that will be used with printers, either locally or over a network. eoe1.sw.mast This subsystem contains vital graphics software and is generally required on workstations. On some systems, this subsystem will be empty however. eoe1.sw.perf This subsystem contains the System Activity Reporting (SAR) package. This facility is useful for monitoring processor activity and IRIX system performance. It may be used in either an interactive mode or as a background data collector/report generator. This subsystem is not required, but may be useful in diagnosing system performance problems. eoe1.sw.spell This subsystem contains a dictionary and command that checks spelling. eoe1.sw.tcp This subsystem contains programs and files that implement the TCP/IP family of networking facilities. It is generally required on all systems even if they will be used in a stand-alone environment. eoe1.sw.terminf This is the Terminfo terminal database. It contains files describing the capabilities of hundreds of different types of terminals and is used by the vi editor as well as many common terminal- oriented applications. A few common terminals may be used without this subsystem. eoe1.sw.ts This is the driver for the ISI VME quarter-inch cartridge tape controller. It is required on systems with that option installed. - 9 - eoe1.sw.unix This subsystem contains the core IRIX commands and files and is required on all systems. - 10 - eoe1.sw.usrenv This subsystem contains a subset of the standard IRIX commands and is generally required on all systems. eoe1.sw.uucp This is the traditional UUCP communications package which implements a point-to-point networking facility. This is only required for sites where UUCP is used but it also contains facilities that may be useful for systems with modems. eoe1.sw.xm This is the driver for the Xylogics VME 1/2" tape controller and is required only on systems with the controller installed. eoe1.man.relnotes This is an on-line readable copy of the IRIX release notes. eoe1.man.unix This is an on-line copy of the IRIX user's manual. Entries may be viewed with the ``man'' command. 3.3.0.2 Execution_Only_Environment_Tape_2 eoe2.sw.NeWS This is the 4Sight window manager and is required by all workstations. This subsystem contains the ``standard'' NeWS fonts. Courier Icon Courier-Bold Iris Courier-BoldOblique Screen Courier-Oblique Screen-Bold Cursor Times-Bold Helvetica !Times-BoldItalic Helvetica-Bold Times-Italic Helvetica-BoldOblique Times-Roman Helvetica-Oblique type eoe2.sw.NeWSimg This is an image database for the 4Sight image demonstration programs. - 11 - eoe2.sw.X11 This is the run-time X11 windowing package. It is required to run X11 applications. This subsystem includes the following fonts that are required to run X, along with some terminal emulator fonts expected by xterm users: 6x10 cursor 6x12 Terminal 6x13 Terminal-Bold 8x13 Terminal-BoldNormal 8x13b TerminalNormal 9x15 eoe2.sw.Xdemos These are demonstration programs that make use of the X windowing system. You must install eoe2.sw.X11 in order for these programs to work. eoe2.sw.Xfonts These are a set of fonts which were shipped with X11 Release 2. They are no longer a part of X, but some older X programs require these fonts to be in place. apl German sup arrow Greek supsup chess Hebrew swd chp ipa sym cyr krivo vbee Cyrillic lat vctl dancer met vg fcor micro vgb fg mit vgbc fg-Bold oldera vgh fg-Oblique plunk vgi fgone rot vgvb fgone-Bold runlen vgl fgone-Oblique sansserif vmic fgs sansserif-Bold vply fqxb sansserif-Oblique vr fr serif vrb fr-Bold serifb vri fr-Oblique serifi vsg frone stan vsgn frone-Oblique stempl vshd frthree sub vxms frtwo subsub xif - 12 - eoe2.sw.demos This is the standard SGI demonstration package. It has been enhanced and expanded with this release and features a new menu driven front end called ``buttonfly''. Some programs may not image properly on machines with eight bit-planes or without a Z-buffer. eoe2.sw.envm This is the IRIX Workspace package, a user-friendly alternative to the standard IRIX command shell. eoe2.sw.gltools This subsystem contains a collection of simple tools that perform a variety of graphics related functions on a workstation. Complete source code for these tools is contained in the dev.sw.gifts subsystem described in the next section. These tools include: blanktime ipaste cedit istat clock loadmap dialwarp mag gamcal mousewarp gamma savemap ical scrsave icut showmap imgexp snapshot interp textcolors eoe2.sw.moredemos This is an extension of the eoe2.sw.demos subsytem and contains more demonstration programs. These programs are segregated here due to disk space requirements. eoe2.sw.moregltools This is an extension of the eoe2.sw.gltools subsystem and contains commands that implement simple image processing functions. The complete source to these commands is contained in the def.sw.gifts subsystem described in the next section. - 13 - eoe2.sw.optfonts These are additional fonts that are not required by the base system but may be desirable for some applications. Boston NewCenturySchoolbook-Bold Charter-Black NewCenturySchoolbook-BoldItalic Charter-BlackItalic NewCenturySchoolbook-Italic Charter-Italic NewCenturySchoolbook-Roman Charter-Roman Symbol Kanji eoe2.sw.sysadm This is a system administration package that does not require graphics and is intended for use primarily on server machines. eoe2.sw.vadmin This is a graphical interface to the standard IRIX administration utilities. It provides user-friendly tools for managing printers, users, disks, networks and other common administrative functions. eoe2.man.X11 This is an on-line version of the IRIX user's manual entries that describe the commands in the eoe2.sw.X11 subsystem. eoe2.man.demos This is an on-line version of the IRIX user's manual section 6, which describes the demonstration programs. 3.3.0.3 Development_Option dev.sw.G0libraries This subsystem contains versions of all of the standard programming libraries compiled with the -G 0 option. These versions of the libraries are generally not required. dev.sw.cc This subsystem is contains all of the standard IRIX commands and files for compiling and debugging C programs. - 14 - dev.sw.cedgetut This contains files that accompany documentation on how to use Edge the IRIX window-based debugger, when programming in C. dev.sw.crypt This subsystem contains the file libcrypt.a for use by programs that perform data encryption. dev.sw.debug This contains the IRIX kernel debugger and is useful only to those developing kernel device drivers. dev.sw.giftssrc This subsystem contains a multitude of sample programs in source code form including the source for all of the eoe2.sw.gltools and eoe2.sw.moregltools subsystems described in the previous section. While the installation of this subsystem is not required, many developers have found the example programs to be extremely useful in learning about the GL, TCP/IP, and Generic SCSI interfacing. dev.sw.rcs This contains the Revision Control System (RCS) which is a set of programs that may be used to control a source code development project. With RCS, changes to source files are kept in a database with comments such that previous versions of a particular file may be retrieved. dev.sw.sccs This contains the Source Code Control System which is identical in purpose although different in use to RCS described above. dev.man.cc This contains all of the programmer's reference manual in an on-line readable format. - 15 - 3.4 Subsystem_Sizes This is a list of all the subsystems and their sizes. Default Install indicates subsystems that are are installed by default when you install using automatic mode, or you select default. To install subsystems that are not installed by default, you must select them with manual installation features. ___________________________________________________________________ subsystem Personal IRIS 4D Data Power Default IRIS & Station Series Power Server ___________________________________________________________________ eoe1.sw.acct 896 896 896 896 no eoe1.sw.cdsio 50 50 50 50 yes eoe1.sw.crypt 52 52 52 52 yes eoe1.sw.dfm 1053 1053 1053 1053 yes eoe1.sw.editors 619 619 619 619 yes eoe1.sw.hyper 194 194 194 194 no eoe1.sw.ikc 36 36 36 36 yes eoe1.sw.ipc 214 214 214 214 yes eoe1.sw.lp 1386 1386 1386 1386 yes eoe1.sw.mast 0 312 0 0 yes eoe1.sw.perf 1090 1090 1090 1090 yes eoe1.sw.spell 867 867 867 867 no eoe1.sw.tcp 7601 7601 7601 7601 yes eoe1.sw.terminf 1637 1637 1637 1637 no eoe1.sw.ts 31 31 31 31 no eoe1.sw.unix 26894 23455 25612 24531 yes eoe1.sw.usrenv 990 990 990 990 yes eoe1.sw.uucp 2088 2088 2088 2088 no eoe1.sw.xm 67 67 67 67 no eoe1.man.relnotes 284 284 284 284 yes eoe1.man.unix 4003 4003 4003 4003 yes ___________________________________________________________________ TABLE 1. S4-EOE1-3.2 - 16 - _____________________________________________________________________ subsystem Personal IRIS 4D Data Power Default IRIS & Station Series Power Server _____________________________________________________________________ eoe2.sw.NeWS 12791 11911 11493 11493 yes eoe2.sw.NeWSimg 12879 12879 12879 12879 no eoe2.sw.X11 17628 17628 17628 17628 no eoe2.sw.Xdemos 2143 2143 2143 2143 no eoe2.sw.Xfonts 3072 3072 3072 3072 no eoe2.sw.demos 4047 4569 2013 2013 yes eoe2.sw.envm 6828 6828 6828 6828 yes eoe2.sw.gltools 1048 3144 0 0 yes eoe2.sw.moredemos 4981 4733 4378 4378 no eoe2.sw.moregltools 2718 7778 188 188 no eoe2.sw.optfonts 4617 4617 4617 4617 no eoe2.sw.sysadm 533 533 533 533 yes eoe2.sw.vadmin 7875 7875 7875 7875 yes eoe2.man.X11 663 663 663 663 no eoe2.man.demos 378 378 378 378 yes _____________________________________________________________________ TABLE 2. S4-EOE2-3.2 ____________________________________________________________________ subsystem Personal IRIS 4D Data Power Default IRIS & Station Series Power Server ____________________________________________________________________ dev.sw.G0libraries 15097 13692 15097 15097 no dev.sw.cc 19308 17452 19222 19222 yes dev.sw.cedgetut 16 16 16 16 no dev.sw.crypt 32 32 32 32 yes dev.sw.debug 848 556 848 556 no dev.sw.giftssrc 4486 4486 4486 4486 no dev.sw.rcs 1846 1846 1846 1846 no dev.sw.sccs 1496 1496 1496 1496 no dev.man.cc 3121 3121 3121 3121 yes ____________________________________________________________________ TABLE 3. S5-DV01-3.2 >>>>>>>>>> 3.2 Release notes, Chapter 4 >>>>>>>>>> - 1 - 4. Additions This chapter describes additions to IRIX, the Graphics Library, 4Sight, and networking in the 4D1-3.2 software release. Also, it describes a new command for reading these release notes on-line. 4.1 On-Line_Release_Notes Release notes have been added to the on-line documentation. When you install the on-line documentation for a product, you will be able to view the release notes on your screen as you would an on-line manual page. However, unlike the on- line manual pages, the printed hard copy of these release notes is more up to date than the on-line version. The relnotes command accepts the following argments: -h describes how to use relnotes -p product displays the chapters or chapter numbers for a given product -c chapter displays a given chapter To see a description of how to use the on-line release notes tool, type: relnotes -h To see which product have on-line release notes installed, type: relnotes To see which chapters of a product are installed, enter the command below, but replace the word product with a product name generated when you type the previous command. renotes -p product To see a specific chapter of product, replace the words product and chapter in the next command: relnotes -p product -c chapter To page through a chapter, press <enter> and to quit, press <del> or <Ctrl-C>. See relnotes(1) for more information. 4.2 Additions_to_IRIX The 4D1-3.2 software release provides these additions to the IRIX operating system. o The IRIS-4D Series Owner's Guide and these release notes document a new way to back up and restore your system. This new system supports incremental backup and - 2 - recovery across multiple tapes. o pmake(1) and smake(1) are enhanced versions of make that create targets in parallel. o As of the system software release 4D1-3.2, on the Personal IRIS computers, the SCSI disk driver attempts to negotiate synchronous SCSI mode with the drive when it is opened. When supported by the drive, this results in greater disk throughput, and better SCSI bus utilization when multiple devices are attached to the SCSI bus. If problems occur because of this (due to use of unsupported drives that don't properly handle this negotiation), you may disable this negotiation by changing the scsi_syncenable variable in the file /usr/sysgen/master.d/scsi as described by the comments in that file, and linking a new kernel with lboot(7M). Of currently supported drives, the Imprimis 94171 (Wren IV 344 MB), 94221 (Wren V 190 MB half high), and 94191 (Wren VI 760 MB) drives all support synchronous mode. The Toshiba MK156FB (156 MB) and Imprimis 94161 (Wren III 155 MB) do not support synchronous mode, but do handle the negotiation correctly. o IRIX now has the capability to force a user process to run only on a particular CPU on a Power Series multiprocessor system. This facility is provided at the IRIX command level by the new command runon, which can be used as a prefix to a command at the shell level. For example, you can run vi on CPU 1 by using the following command: runon 1 vi myfile This facility is also available as a system call from within a user program: #include <sys/sysmp.h> main() { int cpunumber = 1; sysmp(MP_MUSTRUN, cpunumber); /* * At this point, this process will run only on * cpu 1 except when it needs to run on another * cpu to access hardware that only exists on * the other cpu. */ /* * To revert to normal behavior (the process runs - 3 - * on whatever cpu is available), make the following * call: */ sysmp(MP_RUNANYWHERE,); ... } Refer to the manual pages runon(1) and sysmp(2) for further information. 4.2.1 System_Configuration_Files The 4D1-3.2 software release contains some enhancements to /etc/passwd. When you install your new software, a file called /etc/passwd.N is installed. Use diff to compare the two files. Then use a text editor, such as vi, to edit /etc/passwd.N to include the pertinent login/password information so users can login. Rename /etc/passwd.N to /etc/passwd. See Section 2.4, ``Finishing Up the Installation'', for more information about dealing with ``.N'' and ``.O'' files. 4.3 Additions_to_Documentation o Administrator's Guide for Diskless Workstations explains how to be the system administrator for one or more IRIS-4D/20 diskless workstations. It includes instructions for setting up a server for diskless workstations, common changes to the diskless tree, and configuring a disk upgrade. o STREAMS Primer and STREAMS Programmer's Guides provide comprehensive reference documentation for using STREAMS. The primer provides a high level, technical overview of STREAMS. The programmer's guide contains information on the use of the STREAMS mechanism at user and kernel levels. o Modeling on the IRIS-4D accompanies the Graphics Library Programming Guide and contains color plates that illustrate some of the features and capabilities of the IRIS-4D for 3-D modeling. o Silicon Graphics Server Owner's Guide is the new owner's guide for all Silicon Graphics servers. It explains how to set up the server, back up and restore data, recover from a system crash, maintain hardware and software, and perform the first few administrative tasks. This information used to be combined with information on Silicon Graphics workstations, in the IRIS-4D Series Owner's Guide. With the new server guide, you no longer need to sort through material intended for workstations. - 4 - 4.4 Additions_to_Demos Several demos, which used to be shipped with the GT, have been added for Personal IRIS and Power Series (GTX) systems: _______________________________________________________________ buttonfly 3D graphical interface to other demos solidview display and interact with finite element data lathe interactive simulation of a lathe flip interactive rotation of lit objects (replaces spin) boing a ``rubber planets'' simulation New demos for the Personal IRIS, GT, and GTX: ______________________________________________________ Demo Description ______________________________________________________ flyray an interactive ray-tracer logo watch a Silicon Graphics logo being grown newton enhanced version of jello (more polyhedra) gview display the results of radiosity calculations Demos installed on the Personal IRIS only: _____________________________________ house interactively display a house Demos installed on GT and Power Series only (need alpha bitplanes): ___________________________________________________________ Demo Description ___________________________________________________________ mir mirrored objects using z- and alpha-buffer tricks shadows objects casting shadows on each other 4.5 Additions_to_Networking The 4D1-3.2 release provides these additions to networking: o On Power Series multiprocessor systems, the processor which receives network interrupts can be reassigned. - 5 - The variable network_processor in the file /usr/sysgen/master.d/kernel defines this processor. Processor numbering begins at 0. On multiprocessor systems, the default is to use processor 1. To reassign the network processor, change this value and use lboot(1M) to create a new kernel. On single processor systems, the default value of 0 must not be changed. The specified processor receives all interrupt levels which are generated by networking devices, including all Ethernet and HyperNET VME boards. Currently, this is only IRQ4. If any unsupported VME boards which generate IRQ4 are installed in a multiprocessor system, the network processor should be reassigned to 0 to insure compatibility with the software driver. 4.6 Additions_to_the_Graphics_Library 4.6.1 NURBS With the IRIX 3.2 software release comes a major new GL feature: direct rendering of Trimmed Non-Uniform Rational B-Spline Surfaces. This new feature is offered through a combination of software, firmware, and hardware on all IRIS-4D platforms. NURBS surfaces and trimming curves of up to 8th order are supported (except for the Personal IRIS which supports up to 4th order surfaces). Tessellation of trimmed NURBS surfaces is based not only of the shape and the view, but also on a user-settable parameter which controls the size of polygons generated. This gives a smooth speed/quality tradeoff that the user may adjust adaptively. Routines supporting this new feature may be used in both immedate mode and display-list mode. This interface is compliant with the PHIGS+ specification. The new routines are: bgnsurface bgntrim endsurface endtrim getnurbsproperty setnurbsproperty nurbscurve nurbssurface pwlcurve See the Graphics Library Programmer's Guide for more information. - 6 - 4.6.2 Rendering o colorf is a new GL routine to specify fractional colorindex values using floating point arguments. Use it to draw shaded colorindex images. o logicop (only on the Personal IRIS with RE2) is a new GL routine to specify logical operations to be performed on pixels drawn by graphic primitives. 4.6.3 Anti-Aliasing Release 4D1-3.2 expands drawing of antialiased primitives and includes the new feature of subpixel positioning for point, line and polygon vertices. Certain capabilities may not exist on all hardware configurations (see manual pages for details). o pntsmooth is a new GL routine to cause all points to be drawn with antialiasing. o linesmooth allows you to set antialiasing of lines on or off. New development should use linesmooth instead of smoothline. o subpixel is a new GL routine to invoke subpixel positioning of all lines and points, typically used with linesmooth and pntsmooth for highest quality of line and point drawing. 4.6.4 Lighting lmcolor (Personal IRIS and GT) provides a quick way to change the properties of the current material. 4.6.5 Event_Queue There is a new device, called QFULL. When it is queued, a QFULL event will be inserted in the event queue of a GL program at the point at which a queue overflow occurred. The QFULL event will be returned by qread(3G) at the point in the input queue at which data was lost. 4.6.6 Menus o setpup is a new routine that allows you to affect the display characteristics of a pop up menu. It allows you to grey out entries that you don't want to be active, then later re-enable them without recreating the whole menu. o defpup and addtopup calls now understand a %l option for an entry. It will place a seperating line between entries in the menu. - 7 - 4.6.7 Windows swinopen is a new GL routine which creates a subwindow, or a window within another window (called the parent of the subwindow). Subwindows maintain a fixed geometrical relationship with their parent window, that is, the subwindow moves as the parent window is moved. 4.6.8 Graphics_Peripherals o videocmd is a new GL routine which initiates command transfers to video peripherals. Use this to initialize and request frame transfers from the Live Video Digitizer option board on the GTX o IRISphere devices have been added to <gl/device.h> o STR_RECT is a sybol definded <gl/get.h> for use in setmonitor/getmonitor to support StereoGraphics stereo hardware. This new video mode allows 1280x492x2 resolution. 4.6.9 Configuration/Compatibiltiy o getgdesc is a new GL routine that allows a program to inquire about characteristics of the graphics system upon which it is running. Use this to configure your software at run time based upon the capabilities of the current graphics system. o glcompat: A new compatibility mode has been added: GLC_ZRANGEMAP. It controls whether the domain of the z-range arguments to lsetdepth, lRGBrange, and lshaderange is graphics system dependent or independent. o gversion now recognizes the RE2 and Turbo Graphics on the Personal IRIS. >>>>>>>>>> 3.2 Release notes, Chapter 5 >>>>>>>>>> - 1 - 5. Changes This chapter describes changes to IRIX, graphics, networking, 4Sight, and Program Development tools in system software release 4D1-3.2. 5.1 Changes_to_IRIX The 4D1-3.2 release includes these changes to IRIX: o The sysadm versions of backup and restore are no longer supported. These utilities have been replaced with new tools, which are documented in Appendix A, ``Backing Up and Restoring Your System'' and Appendix B, ``Recovering From a System Crash'' o The beer backup utility is no longer supported. o Printer device support has been modified for software release 4D1-3.2 to comply more closely with System V rules for printer drivers. Some of the lp commands now have different pathnames and might have additional options. When you update to software release 4D1-3.2, remove your old printer definitions. Then re-install the printer definitions using the Printer Administration tool, which is included with the System Manager. See the IRIS-4D System Administrator's Guide for more information about using the System Manager. Old printers will still work even if you don't perform this procedure. However, administering printer definitions in the future will be more difficult. o snapshot(6D), a tool to save a portion of the screen in an image file, replaces snap(1G). snapshot is much easier to use. o Several changes have been made to the libmalloc routines that are available when a program is linked with the -lmalloc or -lmpc (the multiprocessing library) directives. Two options have been added to the mallopt(3X) routine, which allows user control of malloc's allocation algorithm. When malloc(3X) requires additional space it uses the sbrk(2) system call. It always requests enough memory for the current malloc request rounded up to a minimum block size: that size can now be specified via an M_BLKSZ argument to mallopt. - 2 - Additionally, malloc will now abort its search for a free block of memory and call sbrk(2) for memory to satisfy a request after it has searched 100 blocks to no avail. The number of blocks to search can be changed by calling mallopt to change the M_MXCHK parameter. Along with the above change, various algorithmic changes were made to reduce fragmentation and to speed up memory coalesing when memory is returned via free(3X). The changes now ensure that memory allocated to the user will always be (minimally) double-word aligned. o The Extent File System code in IRIX has been enhanced in software release 4D1-3.2 to support files bigger than 256 megabytes. In the new software, files are limited by the size of the disk (the largest Silicon Graphics currently ships has 1.2 Gbytes unformatted capacity) and the fact that offsets into the file are represented by 32-bit integers. The 32-bit limitation puts the ceiling at 2 Gbytes. o The IRIX kernel has been enhanced to allow pages of page table entries and user structures in the kernel to be pageable. This means fewer pages are wired down by the kernel, so that in situations where the system is short on physical memory, more memory is available to hold user program text and data. o The graphical system monitor, gr_osview(1), has been significantly enhanced. It provides additional information, much more flexible display modes (including strip charts) and is configurable from a command file to make the greater flexibility easy to use. Refer to the gr_osview(1) manual entry for a ---------- end of Part 1
Path: utzoo!mnetor!tmsoft!torsqnt!jarvis.csri.toronto.edu!rutgers!usc! brutus.cs.uiuc.edu!rpi!uwm.edu!dogie.macc.wisc.edu!decwrl!sgi!...@maddog.sgi.com From: j...@maddog.sgi.com (Jim Barton) Newsgroups: comp.sys.sgi Subject: IRIX 3.2 Release Notes (Part 2 of 3) Message-ID: <44983@sgi.sgi.com> Date: 19 Nov 89 18:39:47 GMT Sender: j...@maddog.sgi.com Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 1102 -------------------- cut here ------------------- detailed description the new features. o The IRIX emulation library for the Sequent parallel programming primitives (m_fork et al.). has been expanded to include the m_park_procs, m_rele_procs, and m_sync primitives. These allow the master process to suspend all the parallel child processes during long sections that are single threaded and then resume them before entering a parallel session. After calling m_park_procs, the child processes will no longer be scheduled and so will not consume any processing time until m_rele_procs is called by the master process. Refer to the m_fork(3P) manual entry for more information. - 3 - 5.2 Changes_to_Documentation o IRIS-4D System Administrator's Guide has been completely revised for this release. It explains how to use advanced IRIX utilities and other standalone programs to keep an IRIS-4D Series workstation or server running smoothly. It contains theory of operation, background information, and step-by-step procedures that supplement the newly revised IRIS-4D and server owner's guides. o The Graphics Library User's Guide and the GT Graphics Library User's Guide have been combined into a single volume for the IRIS-4D series workstations. The combined volume is titled the Graphics Library Programming Guide and contains information for writing GL programs for all IRIS-4D series workstations. 5.3 Changes_to_Graphics 5.3.1 The_Default_Color_Map The default color map, which is loaded by 4Sight, has changed for this software release. The color map is a system wide resource, which allows the mapping of an arbitrary color index pixel to any desired combination of red, green, and blue. There is only one color map per system. Therefore, all color index programs that are running at the same time share the same color map. The first 256 entries of the color map have been re-designed using an abstract color model such that: o multiple programs can aesthetically coexist on the screen o double-buffered applications look good on minimal systems o programs written to the X Window System standard can use the color map Because the colormap is shared, a program that rewrites entries in the colormap will potentially affect other programs in a multi-window environment. This is especially true on minimal configuration systems where the only entries in the map are the bottom 256. The previous colormap arrangement did not provide a structure and methodology to avoid this; the new one does. - 4 - With this color map, application programs can specify colors as if running on a full color system; library routines take care of mapping requested colors to the nearest available color. The abstract color model does a good job of matching desired colors. However, the model breaks down if a program manipulates the color map. Many programs that appear to need to manipulate the color map can be changed to redraw the image using new colors instead. This doesn't work for programs that depend on colormap animation, where the colormap manipulations are only a part of the image rendering concept, or if the color indexies are used by the hardware, as for depth queueing. An example of this is when ramps are used for shaded polygons or depth-queued lines. A minimally-configured Personal Iris has only 8 color bit planes, which means that a double buffered program running on these machines has only four bits per buffer. Four bits means only sixteen colors, which are the first sixteen colors in the colormap. Both maps have the first eight colors as defined by the GL. Following those colors in the pre 4D1-3.2 color map was a grey ramp running from dark to light. This severely limited the colors options available to double buffered applications on a minimal system, since only the first 16 were available. The usable greys were all very dark and looked out of place when used with the primary and secondary colors the GL defines. The 4D1-3.2 color map organization has some pastels in the second eight color slots. These mix nicely with the first eight primary an secondary colors. By dithering out of the first 16 colors you can achieve a fairly wide spread of both hue and saturation. Dithering in the pre 4D1-3.2 color map produces mainly dark muddy tones, not generally considered satisfying. X clients are traditionally black and white, or use a minimal notion of color. Some newer, more ambitious, X clients really want and use many more colors; some even use 24-bit style colors. The new color map organization doesn't help the more greedy X client but it does set aside 16 colors for the X server to manage. These colors are conveniently located on a power of two, and are expected to meet most X clients demands. - 5 - If you run X these 16 colors are reserved for the X server and are not directly available to users. If you never use or run X, you can freely do what you want with them. The library /usr/lib/libgutil.a contains the routines to map full color requested to color map indicies. abstract color model. The routines come in two flavors, those with floating point arguments between 0 and 1, and those with integer arguments between 0 and 255. Use whichever is most natural. ci = rgb(r,g,b); /* set and return a color index * approximating the given r,g,b */ ci = rgbi(ri,gi,bi); ci = hsv(h,s,v); /* set and return a color index * approximating the given h,s,v */ ci = hsvi(hi,si,si); ci = grey(shade); /* set and return a color index * approximating the given shade * of grey */ ci = greyi(shadei); Each routine figures out what index is the closest to the color requested, sets that as the current color, and returns the index it found. A few simple operations, based on some tables, give the returned value. Programs that do not fit into the abstract color map scheme typically need large ramps. In the colorful part of the map, 140 contiguous entries go unused by the default window manager and most standard tools. Thus an ``antisocial'' application program can freely write numerous entries and only destroy the appearance of other applications, not the window system itself. This range of colors starts just after the grey ramp at color index 56 and continues through color index 195. The window system uses color indicies 196-255. Some standard tools like cedit use a few colors from the middle of this range, but only in small areas so remapping is likely to leave them intelligible. 5.3.2 Changes_to_4Sight o wsh(1G) now provides a text selection facility that allows text to be transferred from the display of one wsh window and sent as input to any other wsh window. It also has an improved scroll bar with a proportional thumb. - 6 - o The Window Manager has improved aesthetics and controls, and better support for multi-windowed applications. The window borders have been changed to accommodate strectch controls at each corner of the window. The window borders and toolchests have also been given a rounded appearance matching the aesthetics of the WorkSpace and Visual Administration tools. Stowed windows (icons) are now arranged in neat rows instead of randomly across the screen. Enhanced versions of the preference features previously found in the 4DGifts have been incorporated into the window manager. These features provide automatic placement and sizing of windows for any application and allow for windows of the same type to be neatly stacked. For example, all wsh windows can be neatly stacked up. A Close entry has been added to the menu together with a corresponding border control. This entry is designed for multi-windowed applications. Close closes the window and, if notification is enabled, notifies the client. If the window being closed is the last window of the application, Close becomes equivalent to the existing Quit entry which closes the window and kills the application. All these new features are described in the 4Sight Programmer's Guide. 5.3.3 Changes to the Graphics Library and Distributed Graphics Library o The GL viewport routine allows application programs to use a viewport that is _32K in both X and Y while in feedback mode. The viewport is limited to -XSCREENMAX to 2*XSCREENMAX in X and -YSCREENMAX to 2*YSCREENMAX in Y while not in feedback mode. o The smoothline routine now is obsolete and has been replaced with a functionally equivalent routine called linesmooth. o The lsetdepth routine replaces setdepth, which is now obsolete. The depth range now defaults to the entire range supported by the hardware on which the program is running. The limits of the depth range are returned by the getgdesc routine. - 7 - o The lshaderange routine replaces shaderange, which is now obsolete. The depth range of the default shade range is now the entire range supported by the hardware on which the program is running. o The lRGBrange routine replaces RGBrange, which is now obsolete. o The getdepth routine is now obsolete. It is not guaranteed to return correct values if lsetdepth is used to set the depth range; only works correctly when setdepth is used viewport in feedback mode allows range supported by feedback datatype. o Documentation that was previously released indicated that blending was available only if 2 bitplanes were installed. This has been corrected. o GT/GTX now correctly depthqueues when the depth range is reversed (Znear > Zfar). The other models still fail. o The size of the graphics input event queue has been increased from 51 elements to 101 elements. o zfunction now works across the entire IRIS-4D product line. 5.3.4 Changes_to_the_Distributed_Graphics_Library The changes to the Distributed Graphics Library are the same as the changes to the Graphics Library with these additions: o The arguments to winmove and winposition arguments have been changed from shorts to longs. Although this does not affect GL programs, it will break DGL programs that call these routines. Such DGL programs linked with a pre-4D1-3.2 libdgl.a will not work with 4D1-3.2 DGL servers, and DGL programs linked with a 4D1-3.2 libdgl.a will not work with pre-4D1-3.2 DGL servers. o The environment variables DISPLAY and NEWSSERVER are no longer used for determining the default DGL server. The environment variable DGLSERVER is now used instead. The "decimal_address.port" host format, typically used along with NEWSSERVER, is no longer accepted. o dglopen can now return ESRCH (no such process) if the window manager is not running on the server. - 8 - o The protocol for popup callback functions ("%f") has been changed to allow callback functions to call other DGL routines. Any old DGL programs that used callbacks will not work with the new DGL server and new DGL programs will not work with the old DGL server. The incompatibility arises only when the callback occurs, not when the program is run. 5.3.5 Changes_to_4Dgifts This section contains information about a wealth of source code examples, which you receive as ``gifts'' from Silicon Graphics, Inc. These gifts are not installed or updated by default. To use them, you must first install them using inst(1M). For information about using inst and the manual installation features, see Chapter 2, ``Software Installation'' or the IRIS-4D System Administrator's Guide. Once installed, you find these source code examples in a sample user account directory called /usr/people/4Dgifts. 4Dgifts is set up as a sample user account for two reasons: o to allow you to learn by example o to allow you to be productive while you are becoming familiar with the NeWS environment and the ability to customize that environment with PostScript You should find a README file in virtually every directory in and including 4Dgifts. Much of what is discussed below is covered in greater detail in the README files. Read the file /usr/people/4Dgifts/README to gain a more complete understanding of the remainder of this section. 5.3.5.0.1 Disclaimer This reinstatement of a source code repository is a major coup for people that use Silicon Graphics Inc., systems. Although there is a disclaimer in the file /usr/people/4Dgifts/README file, which states ``It is essential to understand that these gifts are unsupported by Silicon Graphics Inc., the fact is we continue to receive many requests, suggestions, etc for these gifts. - 9 - We welcome any and all such input. However, we are the final arbiters as to what additions or changes will be implemented. The main subdirectories in 4Dgifts are: examples kermit and iristools The examples directory contains various subdirectories housing an assortment of code examples: Fortran graphics programs written in Fortran devices digitizer and dial and button box programs, as well as a program that uses the /dev/scsi generic SCSI driver. fontmanger includes sample programs demonstrating usage of the fontmanager library, libfm.a grafix various C graphics programs. hllapi ibm-link for the SGI 3270 emulation package. light on-line versions of the lighting programs discussed in chapter 9 of the Graphics Library Programming Guide. nurbs contains 4 nurbs sample programs: one written in C, one for the DGL, on in Fortran, and one in Pascal. tcp contains programs that communicate with remote systems such as the IRIS and 4.3BSD computers. trackball contains 4 components of code for a Virtual Trackball Implementation: routines to calculate the virtual trackball, event-queue handling, drive a user-interface, and a simple program to use the other 3. unix contains fundamental examples of system programming. video contains programs demonstrating usage of various video modes. - 10 - The kermit directory holds the public domain source and documentation for kermit, a file transfer protocol that is useful when you need to send files to and from an IRIS/UNIX computer and non-unix configurations like VMS or DOS based machines. The iristools directory contains a super-set of special image libraries, image processing utilities, and graphics tools that used to exist, in the 3000 family-line of computers, under /usr/people/gifts/mextools. This source was used to build the binaries that now reside in /usr/sbin (i.e., cedit, showmap, ipaste, mag, etc.). In other words, every executable in /usr/sbin with a source file under iristools was built from that exact source (including the two libraries libgutil.a and libimage.a under iristools). Beyond this, the directory /usr/people/4Dgifts is setup to work as a sample NeWS user login account replete with many template .ps files to help you understand the extent to which you can customize NeWS environment. Along with a more substantial user.ps, file there is a startup.ps file, as well as a subdirectory /usr/people/4Dgifts/.4sight. This directory contains nine additional startup.ps files that show you how to create your own user-defined icons, window colors, menu fonts, etc.. These files have comments throughout them to help describe what they do. There are many ways you can change and alter all of the possible startup variables. 5.3.5.1 Special_Gifts ./iristools/imgtools/snapshot.c This program allows you to interactively grab part or all of of an image on the screen and dump it into an image file. It is the next generation of icut. By default, it is loaded in /usr/sbin as a gltool. See snapshot(6D). This image file can then be put back up on the screen with ipaste(1G), or sent to a supported printers with lp(1). ./{.workspace/*, README.wspace} There is an initial setup for a version of workspace with 4Dgifts that resides in the directory .workspace. The file README.wspace describes more of what is currently included. ./examples/grafix/{zrgb.c, zrgbmenu.c, zcmapmenu.c} ./examples/Fortran/{zrgb.f, zrgbmenu.f, zcmapmenu.f} - 11 - These programs demonstrate aspects of zbuffering in various implementations. Of particular note are the zcmapmenu versions which include a powerful example in the main infinite loop of how to write code that does NOT eat up extra CPU cycles (provided one does not need the animation to continue when the input focus is elsewhere) ./examples/devices/{iisc.c, inquire.c} Two programs that use the the /dev/scsi generic SCSI driver. Be sure to also consult the README file in this directory. 5.3.5.2 Installing_the_Gifts To install the 4Dgifts, login as root, type inst, and follow the instructions on your screen. Refer to Chapter 2, ``Installing Software'' for a detail discussion of inst. Choose the manual installation features, and explicitly select this subsystem dev.sw.giftssrc. Once you have specified that you wish to use the manual installation features, type: select from the "Manual>" menu and enter yes dev.sw.giftssrc Now 4Dgifts will be included when you run the install menu item. The size of this account (uncompiled) is approximately 4095 blocks or about 2.17 MBytes. 5.3.5.3 Setting_Up_4Dgifts_as_a_User_Login_Account Upon successful completion of loading the dev.sw.giftssrc subsystem from the Development tape (see below) you need to perform one more modification in order to set up /usr/people/4Dgifts as its own account: 1. Login as root. 2. Edit the file /etc/passwd. Duplicate the ``guest'' passwd line. Change every occurrence of the word ``guest'' on this duplicate line to be ``4Dgifts'' instead. 3. Write the changes and exit the editor. 4. Now logout of the console screen entirely and login as 4Dgifts. You will see things startup in a different way than they do for guest root or any of the other "default" login accounts. The intent here is that you copy - 12 - ~4Dgifts/{.4sight, user.ps, startup.ps} into you own home directory and play with changing whatever parts you wish to make it place and define things more in the way you prefer. 5.3.6 Changes_to_Demos The directory structure of /usr/demos has been re-organized. All demo executables have been moved from /usr/demos into /usr/demos/bin, and all data used by the demos has been moved into /usr/demos/data. Several old demos have been dropped from distribution, including revolution, jet, demomakemap, superbreak and spin. Buttonfly(6D) is a fancy interface to the demos, and is new with the IRIX 3.2 release. Running /usr/demos/buttonfly is the easiest way to run the demos. For Workspace users, the directories /usr/demos/applications, /usr/demos/cpu, /usr/demos/graphics, /usr/demos/image, and /usr/demos/old have scripts inside them to run the demos with appropriate data. All of the demos have manual pages, which can be seen using either the standard man command, or through buttonfly's popup menus. All of the demos now have information slides, which give you a brief description of what the demo is doing. These can be accessed through buttonfly's popup menus or from the Workspace. 5.3.7 Changes_to_the_NeWS_Gifts The NeWS gifts are now under /usr/NeWS/clientsrc, and you can compiled them yourself. - 13 - 5.4 Changes_to_Networking The 4D1-3.2 software release includes these changes to networking: o An improved multiprocessor implementation of System V STREAMS allows the use of all serial ports on Power Series systems. For information on how to utilize the additional ports, see ``Attaching a Terminal, Modem, or Dumb Printer'' in the IRIS-4D System Administrator's Guide, duart(7), and inittab(4). Developers note that all STREAMS drivers must obey the conventions for maintaining mutual exclusion on multiprocessor systems. These conventions are discussed in Appendix F, ``STREAMS on the IRIS-4D'' of the STREAMS Programmer's Guide. o System V STREAMS queue and stream structures are now allocated dynamically. The static allocations have been removed from the kernel master file. o For security, a user's .rhost file must be owned by the user or by root and must be writable by only the owner or root. Use the command: chmod go-w $HOME/.rhost to prevent others from writing to the file. $HOME is the pathname of the user's home directory. o rshd(1M) now logs unsuccessful accesses to syslog(1M). The new -L option allows you to log successful accesses, too. To enable -L, append it to the rshd entry in /usr/etc/inetd.conf. See rshd(1M) in the IRIX System Administrator's Reference Manual for more information. o The following daemons now look for .options files in /etc/config: named(1M) rpc.passwd(1M) to allow customers to specify different startup options. See network(1M) and the daemons' manual pages for details. - 14 - o For proper system startup, all network interfaces on the IRIS must have a valid address-hostname entry in /etc/hosts. ifconfig(1M) converts a hostname into an Internet address by looking in /etc/hosts only. It does not use named(1M) or Yellow Pages. 5.5 Changes_to_Program_Development_Tools The C runtime startup routine now returns (to the environment) the value returned from the C main function. Release 4D1-3.1 returned zero to the environment regardless what value was returned from the main function. It is essential that every program call exit or return a meaningful value from its main function. If a meaningful value is not returned, a garbage value is returned to the environment. This change was made to conform to the proposed ANSI C standard. 5.5.1 Changes_to_dbx A great deal of information was added to the dbx man page and help file /usr/lib/dbx.help. The information in them might be helpful to you/ The tags command was added to dbx. It uses ctags(1) data. It is like the func command except that tags can find C macros (those with arguments) as well as functions. The ccall command was added. It (as well as expression evaluation) allows interactive calls to functions in the program being debugged. In this release only constant arguments may be supplied to the function being called. By default, anonymous blocks (in C {} delimited compound statements) in functions are now not shown on stack traces. Set the dbx variable $hide_anonymous_blocks to 0 to show all internal blocks. The syscall command was added to allow breakpointing your program on entry-to or return-from any system call. To intercept a call to exit(2), enter the command syscall catch call exit. See the man page for further details. The hed command can be used to edit the dbx history file with your favorite editor. Commands left in the edit session when you exit the editor are automatically submitted to dbx immediately. C casts to pointers and integral types can now be used in expressions. See the EXPRESSIONS and HINTS sections of /usr/lib/dbx.help for further information. - 15 - A number of new commands and command-clauses relating to debugging multiple-process applications and multiple- processor applications are available. See the man page sections on ``Multiple process debugging'' and ``Process Group Debugging Facilities''. The $promptonfork debugger variable now controls a more flexible and usable facility. If 0, then when a program forks or sprocs neither it nor the child stops (that is, the fork is essentially invisible). If 2 then the child is added to the process list automatically and both parent and child stop. If 1 then you are asked whether to add the child to the process list; the parent is left stopped and the child is left stopped (is ignored and runs) if you answered y (n). 5.6 Changes_Affecting_the_Tablet_and_Dial_and_Button_Box Starting in software release 4D1-3.2, the tablet device and dial+buttons device will no longer be pointed to by the devices /dev/tablet and /dev/dials. We have removed these dependencies and the device links themselves in order to standardize the queue interface for alternate input devices. Basically, all I/O to these devices should go through the daemons associated with those devices. The daemons alone will have the knowledge of what physical port input devices are connected to and hardware command sequences associated with those devices. >>>>>>>>>> 3.2 Release notes, Chapter 6 >>>>>>>>>> - 1 - 6. Bug_Fixes This chapter describes bug fixes to 4Sight, IRIX, and program development tools. A Silicon Graphics software change request (``SCR'') number appears after many of the bug fixes in this chapter. 6.1 Bug_Fixes_to_IRIX o If more than the maximum number of concurrent at(1) jobs were simultaneously submitted, previous versions of the software queued the excess jobs, but failed to start them after the running at(1) jobs completed. (SCR 5564) o When cron(1M) was killed and restarted in previous releases of IRIX, it would forget about any at(1) jobs that were submitted to the previous incarnation of cron(1M), but were still in the future. This no longer happens. (SCR 6865) o If a process that takes a long time to complete is started with at(1) and then killed prematurely, cron(1M) dies. This is fixed. (SCR 6910) o The line printer spooler model interface scripts supplied in /usr/spool/lp/model work properly with the Yellow Pages as of Release 3.2. (SCR 3832) o In previous releases, the system initialization scripts would generate an error message every time the system was booted if the line printer spooler was not installed. This no longer happens in Release 3.2. (SCR 4430) o Manual entries which require preprocessing by eqn(1) now received that treatment in Release 4D1-3.2, so some on-line manual entries (e.g. eqnchar(5)) look better than in previous releases. (SCR 5031) o Some inconsistencies in the disk statistics reported by the -d option of sar(1) have been corrected in Release 3.2. (SCR 5465) o The mount(1M) command now has a -h option that works analogously to umount -h. Refer to the mount(1M) manual entry for more information. (SCR 5591) o Some formatting problems in the signal(2) manual entry have been corrected. (SCR 5738) - 2 - o The mt status command now shows when the tape in the drive is write protected when that information is available from the drive. (SCR 5766) o The ps(1) manual entry now documents the page size in the description of the SZ and RSS fields output by ps -l. (SCR 5769) o The manual entries uname(1) and uname(2) now correctly describe the format of version and release number fields. (SCR 5777) o If any process has a modem-control port (tty[mf]*) open on a CDSIO 6-port board and if DCD is false on that port, then no port on the entire board gets any output interrupts. This is fixed in Release 4D1-3.2. (SCR 5844) o There is now a manual entry for flock(3B). (SCR 5864) o In previous releases, the system kernel configuration program lboot(1M) assumed that all controllers were numbered within their type starting at zero. That is, the first controller of a particular type would be numbered 0, the second would be numbered 1 and so forth. If the system configuration files specified, for example, a single controller of a particular type with controller number 1, then lboot(1M) would create a kernel that would not work properly. This has been remedied in Release 3.2. (SCR 5866) o The man(1) command now allows the user to specify an alternate paging program through the PAGER environment variable. (SCR 5883) o When running four copies of the same graphics program on a four CPU system in Release 3.1, the scheduler does not give fair service to the four processes. At any given time, one of them gets scheduled much less often than the other three. This has been fixed in Release 3.2. (SCR 5911) o The select(2) system call can now be used on pipes and all character devices, in addition to sockets and streams devices. (SCR 5421) o The system ID returned by the sysinfo program is 64 bytes long. Many people have requested a shorter ID. In Release 4D1-3.2 there is a new option to sysinfo(1), -s, which provides a 32-bit ID number that can be used to identify a particular machine. This new short ID is - 3 - also returned by a new library routine sysid(3C). (SCRs 4593, 5917) o In previous releases, the file system checker fsck(1M) required a temporary file when checking a file system greater than 500 megabytes in size. It prompted the user for the file name to be used. This caused problems during software installations, since fsck(1M) was being executed with standard input and output redirected to /dev/null. In Release 4D1-3.2, fsck(1M) no longer requires the use of a temporary file under any circumstances. (SCR 5921) o Release 4D1-3.1 PowerSeries and PowerStation machines (multiprocessors) could get the system panic "out of action blocks" under certain heavy load conditions. This no longer occurs in Release 3.2. (SCR 5927) o The EFS file system code in previous releases does not correctly handle file systems in which each cylinder group contains more than 32767 blocks. This has been fixed. (SCR 5968) o The hinv(1) command, which lists the hardware present on a machine, did not correctly report the controller and unit numbers for SCSI floppy disk drives. This is fixed. (SCR 5979) o The hinv(1) command correctly reports the presence of the CG2 and CG3 Genlock boards in Release 3.2. (SCR 6014) o The sysmips(2) manual entry has been changed to document the MIPS_FPSIGINTR call, which allows a program to get a SIGFPE signal whenever a floating point exception occurs. (SCR 6016) o The libraries /usr/lib/libsun.a and /usr/lib/libbsd.a have been changed in Release 3.2 to require a good deal less data space. This means that programs linked to these libraries will have smaller data segments in Release 3.2. (SCR 6199) o Some formatting problems in the output of sar(1) have been corrected in this release. (SCRs 6258, 6273) o The values of the constants FLT_MAX and FLT_MIN in /usr/include/limits.h are correct in this release. (SCR 6268) - 4 - o In Release 4D1-3.1, csh(1) filename completion does not look right on VT100 compatible terminals. When an ESC is typed to complete a filename, the filename is completed correctly, but there was an error in the way the command line got updated on the terminal that resulted in some characters getting erased. This problem has been corrected. (SCR 6270) o The script /dev/MAKEDEV, which is used to create all the required special files in the /dev directory, has been modified in Release 3.2 so that it does not recreate or change the ownership or permissions on any special files that already exist in /dev when MAKEDEV is executed. This fixes several problems, among them the fact that the line printer spooling subsystem would no longer work after MAKEDEV was executed, since it reset the ownership on some /dev files required by lp. (SCR 6306) o In previous releases, the passwd(1) command would turn a blank line in /etc/passwd into a line '::0:0:::' the next time it was invoked after the addition of the blank line. This creates a user name '' (null) with a uid of 0 (root) and no password. This behavior has been corrected in 3.2. Blank lines are preserved and are treated as comments by all programs that use getpwent(3) to access the password file. (SCR 6315) o The wall(1) command in previous releases would sometimes create normal data files in the /dev directory. This no longer happens. (SCR 6318) o Several bugs were fixed in 3.2 that resulted in file systems remaining busy at system shutdown time. This would cause the unmount to fail (umount(1M)) which in turn would cause the system to think that the file systems in question were dirty and run fsck(1M) on them on the next boot, even though the system was shut down in an orderly fashion. (SCR 6393) o In Release 4D1-3.2, the file /usr/lib/acct/holidays gives the (United States) holidays for calendar year 1989. (SCR 6395) o On Release 3.1, an ordinary user could cause /etc/passwd to become an empty file by setting 'ulimit 0' (using sh(1)) and then using the passwd(1) command to change his password. This bug is fixed in 3.2. (SCR 6407) - 5 - o The declaration of m_set_procs on the m_fork(3P) manual page has been corrected to indicate that it returns an int. (SCR 6411) o The more(1) command no longer prints an error message when given a null file. (SCR 6412, 6812) o In Release 4D1-3.1, the default permissions on the directory '/' shipped on new systems were 'rwxrwxrwx' (777). Allowing users other than root to have write access to '/' is a serious security breach. Starting with 3.2, the permissions on '/' on new disks are 'rwxr-xr-x' (755). (SCRs 6448, 6604) o A bug was fixed in the driver for the IKON parallel printer controller board that could cause parallel printers not to work properly under some conditions. (SCR 6510) o The header file /usr/include/sys/sysmp.h now nests an include of /usr/include/sys/types.h, since sysmp.h references caddr_t. Both header files have nesting protection, so this change will not break any existing code that includes one or both of these files. (SCR 6517) o In Release 4D1-3.1, if the mt rewind command is issued when the SCSI tape is not positioned at a file mark, the tape will seek forward to the next file mark before rewinding. In Release 4D1-3.2, the tape will rewind immediately without any other positioning activity. (SCRs 6546, 6567) o A bug that could cause the swap(1M) command to hang the system when used to delete a swap partition (the -d option) has been fixed. (SCR 6555) o A bug in the Release 4D1-3.1 HyperNET driver that could cause system crashes when transferring large amounts of data has been fixed. (SCR 6561) o More detail has been added to the manual page for the sproc(2) system call (shared address space fork) to provide better information about how traditional process issues (delivery of signals, exit of child processes and so forth) are handled for processes created by sproc(2). (SCR 6597) o The man(1) command in Release 4D1-3.1 sometimes shows the same manual entry several times. For example, the command "man man" would display the following entries: - 6 - man(1), man(5) and then man(5) again. This no longer happens in Release 3.2. (SCR 6660) o Kernel crash dumps would sometimes hang indefinitely when dumping to ESDI drives using 4D1-3.1 software. This problem has been fixed. (SCR 6672) o The library routines getpwent(3) and getgrent(3) that access the passwd(4) and group(4) files now support a comment syntax: '#' in the first column. Several potential security breaches having to do with the handling of very long lines in /etc/passwd were also fixed. (SCR 6724) o There is a bug in certain revision levels of the firmware on Interphase 4201 ESDI disk controllers that causes the system to print the message "MACSI mode timeout" and hang. This typically occurs only during very heavy disk activity, involving lots of small transfers. If this error occurs on your system, contact Silicon Graphics to get your disk controller upgraded with firmware that corrects the problem. (SCR 6739) o The kernel driver module for the SCSI floppy disk drive is no longer automatically linked into IRIX kernels. On systems that have the floppy drive installed, the system administrator must edit the file /usr/sysgen/system and then run the lboot(1M) program to relink the operating system. Find the line in /usr/sysgen/system that looks like: "*INCLUDE: smfd".Change that line by simply removing the leading asterisk (*), which will converts the line from being a comment to a command that causes the floppy disk driver module to be included in the kernel. After making this change, run the command /etc/init.d/autoconfig, answering 'y' to the question "Automatically reconfigure the operating system (y or n)?". This is a shell script that executes lboot(1M). When this command completes, reboot the system using the reboot(1M) command. (SCR 6740) o In previous releases, vi(1) dumps core if the TERM variable is set to a terminal type that is not present in the terminfo(4) database. In Release 4D1-3.2, vi(1) will use terminal type 'dumb' in this situation. (SCRs 5104, 5959, 6765) o In previous releases, the system could not be booted into single-user mode if the file /etc/inittab was missing and the system console had been switched from - 7 - the graphics monitor to the diagnostic console. In 3.2, the system can be booted into single-user mode even if /etc/inittab is missing. (SCR 6781) o In previous releases, there are cases in which IRIX erroneously prints the message "DANGER - out of swap space". This has been fixed in 3.2. (SCR 6784) o When booting the system into an initstate other than the default after a system crash, it is no longer necessary to enter the boot command with the special initstate twice. In Release 4D1-3.2, the system doesn't have to shutdown again if it finds the root file system dirty. It runs fsck(1M) as before, but fsck remounts the root file system and the boot continues. (SCR 6786) o When invoked from within curses(3X), vi(1) did not always format its text correctly in previous releases. (SCR 6813) o The manual entry for usmalloc(3P) was changed to indicate that the header file malloc.h is required to access the functions documented in usmalloc(3P). (SCR 6874) o Some programs that linked with -lmalloc would continue to grow in virtual size even though all malloced segments were freed. This no longer happens. (SCR 6870) o When using ulimit(2) to get the maximum possible break value for the calling program, previous versions of IRIX would return a negative number. This has been fixed. (SCR 6893) o The list of timezones that the 'syssetup datetime' menu under sysadm(1) recognizes has been enhanced to include all the European, Pacific and East Asian timezones. It previously only included American time zones. (SCR 4032, 6894) o The uname(1) command now correctly distinguishes between the IP5 (16MHz 2-processor CPU), the IP7 (25MHz 2-processor CPU) and the IP9 (25MHz single processor CPU) in the output generated with the -m option. (SCR 7010) o Ldopen(3) did an uninterruptible sleep. The sleep is now interruptible. (SCR 6854) - 8 - 6.2 Bug_Fixes_to_Program_Development_Tools o The functionality of pixie_mp has been absorbed into pixie. Use pixie as you normally would. If the program is a "normal" one, just one Counts file is produced. If the program calls sproc, (e.g. a Fortran multi- processing program, or one that calls m_fork(3P)) then you automatically get multiple Counts files. (SCR 6771) o In C, an undefined structure member reference could generate an error message with some garbage in it. Now, it generates a message with the correct field name. (SCR 6383) o The function rint(3M) was added to libm. (SCR 6370) o dbx now identifies file types which cannot be debugged. If you attempt to use dbx to debug a directory, for example, dbx prints a message that identifies the file as a directory. (SCR 5311) o (edge) Problems with windows were fixed. (SCRs 4036, 4694) o (dbx) Added an optional ``pid <pid>'' clause to many dbx commands to reduce the need to type the ``active'' command. (SCR 4753) o (dbx) If one tried to set a breakpoint in shared- library code, the message ``no executable code found at line "prog.c":260052304'', for example, would appear. This problem has been fixed. (SCR 5453) o (dbx) If $promptonfork is 0, dbx no longer stops when the process forks. (SCR 6374) o (dbx) The man page now mentions the px alias. In addition, the manual page and the help file have much new information on dbx commands and expressions. (SCR 6881) o (ar) When a file name longer than 15 characters is presented to ar(1) it is truncated to 15 characters. Attempts to replace with the original name will fail. Now ar(1) mentions the partial match so one can tell why the match failed. (SCR 6736) o (uopt) The optimizer was fixed to eliminate a ``no case matches value in case statement'' message on legal - 9 - programs. Some such programs caused uopt to dump core. (SCRs 4918, 5577) o A prototype must be in scope at both the calling and called sites for the prototype argument promotions to work correctly unless the prototype matches the default argument promotions. A function definition using prototype form is its own prototype. Using old-style function declarations/definitions and prototype declarations/definitions for the same function will usually yield an erroneous program. (SCR) 5002 o The following development libraries were moved to the development image of the distribution: /usr/lib/libcrypt.a /usr/lib/libdgl.a /usr/lib/libutil.a (SCR 5781) o (mkshlib) mkshlib was creating shared library archive object files with garbage in the cprmask[] fields of the object header. This made binary comparisons with earlier releases really difficult. Now the fields are initialized correctly. (SCR 5919) o ar(1) was moved to the execute only portion of the ---------- end of Part 2
Path: utzoo!mnetor!tmsoft!torsqnt!jarvis.csri.toronto.edu!rutgers!usc! cs.utexas.edu!uwm.edu!dogie.macc.wisc.edu!decwrl!sgi!...@maddog.sgi.com From: j...@maddog.sgi.com (Jim Barton) Newsgroups: comp.sys.sgi Subject: IRIX 3.2 Release Notes (Part 3 of 3) Message-ID: <44984@sgi.sgi.com> Date: 19 Nov 89 18:40:54 GMT Sender: j...@maddog.sgi.com Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 821 -------------------- cut here ------------------- distribution for wider availability to customers. (SCR 5975) o The ar(1) man page now mentions explicitly which operand is taken as the archive name. (SCR 6840) o (cc) In C in earlier releases a return from main() would always return 0. Now any return value from main() is correctly returned to the environment. This matches the proposed ANSI C standard. User programs which fail to either exit(2) or return a value from main() will return a useless garbage status to their environment. (SCR 6031) o (cc) A bug in ccom prevented typedef's to pointers to functions with prototypes from working. (SCR 6278) The test case is: typedef int (*Fcnptr )(int); Fcnptr _tkFcnCallEvent_fcn ; This resulted in errors such as: ccom: Error: t.c, line 3: redeclaration of Fcnptr Fcnptr _tkFcnCallEvent_fcn ; -------------------------^ ccom: Error: t.c, line 3: syntax error Fcnptr _tkFcnCallEvent_fcn ; - 10 - -------------------------^ o (cc) The bogus message: ``ccom: Warning: idbg.c, line 5100: illegal member use: u_format'' no longer occasionally appears associated with user source errors. (SCR 6385) o (prof) -clock is now documented correctly in the prof(1) man page. (SCR 6385) o (unix and m_fork and pixie) Now multi-processing programs get their own block counts by thread. (SCR 6772) o (fsplit) fsplit(1) now works with blank lines between subroutines. (SCR 7025) o (libc) strtod(3) now has a prototype in <math.h> to match atof(3). This is non-standard and these will be moved to <stdlib.h> for a future release. (SCR 7091) o (f77) The following program did not work correctly due to the forced misalignment of a and b off of double boundaries. (SCR 7141) c change i to anything beside double, bug still occurs. c order of common seems significant. double precision a, b integer i common /x/ i, a, b data i/0/ a = -79.0 b = 79.0 print *, i, a, b end Code generation has been corrected to handle this correctly. 6.3 Bug_Fixes_to_Graphics o Microcode bug with either backface or Tmesh on 4D/20s is fixed. (SCR 6487) o Personal IRIS - Self-intersecting polygon fills now work correctly. (SCR 6943) o Double buffered depthcued polygons and lines were not dithered on the Personal IRIS because of inaccuracies resulting from floating point roundoff. Now depthcued as well as gouraud shaded polygon and lines are - 11 - dithered in both RGB and colorindex modes. The Personal IRIS with an RE1 chip and 24 bitplanes can not dither in colorindex mode. (SCR 6496) o Personal IRIS - The source code was optimized to improve line performance using bgnline, v,v,.. endline calls. (SCR 6833) o Personal IRIS - The line stipple was advanced one pixel too far at junction of two line segments. The stipple is correctly backed up one bit. (SCR 6702) o Personal IRIS - Wide lines and curveit no longer cause stray lines to be drawn. (SCR 6669) o Personal IRIS - Picking no longer causes systems to hang when the last element in the pick buffer is negative. (SCR 6547) o When you try to render polygons that have nearly 256 vertices and are non-monotonic in screen space on the IRIS-4D GT or GTX with graphics from non-GT's, the window manager sometimes crashes. This has been fixed. (SCR 6944) o An error in 4x4 matrix inversion that caused some invertible matrices to be inverted incorrectly was corrected. This error may have produced incorrect lighting in rare instances. (SCR 6836) o The man pages now document the limit for points per polygon The current limit is 255 on the 4D/XX machines for the polf, poly, pmv, pdr, and any other polygon- related commands. (SCR 3750) o The gamma(6T) man page now correctly represents the 4D product. (SCR 4583) o The winconstraints(3g) man page now states that winconstraints must be called AFTER winopen(). (SCR 4723) o Certain GL routines are only available on the GT. Yet there is no mention of this on the man pages (e.g. blendfunction(3G)). Hence, the new "GL Reference Guide" (007-1203-010), which contains the printed versions of the GL man pages, is therefore really the "*GT* GL Reference Guide". Non-GT customers could get really confused. The man pages now mention system- specific restrictions. (SCR 4954) - 12 - o There was no clear explanation of how the lmbind uses the current matrix on the viewing stack to do the modeling and viewing transformation of the light. This is discussed in the Graphics Library Programming Guide. (SCR 5012) o The mathematical implementation of lighting has been explained in the the graphics documentation. (SCR 5013) o The GF3 card now checks whether the zbuffer board is installed. (SCR 5099) zbuffer(TRUE); printf("zbuffer: %d0, getzbuffer); This will return 1 if zbuffer is installed and 0 if not. o The curve commands and the lighting commands used the same matrix stack space causing failures due to interference. (SCR 5160) o An exec() of a process that did a ginit caused a kernel panic. (SCR 5541) o The gammaramp(3G) man page now mentions the "4D" implementation of gammaramp. (SCR 6005) o In 3.1C or earlier, the screenmask was incorrectly set, and as a result the top scan line could not be written to. This is fixed in 3.1D. A second related bug was that sbox was not always setting the right pixels in conjunction with the screen mask. This is fixed in 3.2. (SCR 6078) o The gversion man page has been changed to reflect the actual string returned. (SCR 6139) o Concave bowtie polygons now fills correctly on 4D/20. (SCR 6204) o Fudge() now work correctly with keepaspect(). (SCR 6211) o The shaderange equation is now correct in the GT Graphics Library User's Guides (SCR 6223) o The man page for blendfunction() had the source and destination reversed. (SCR 6224) o The Graphics Library Programmer's Guide incorrectly stated that the blending section applied only to GT systems that have alpha planes. Blending does work on GT systems without alpha planes. (SCR 6249) - 13 - o The man page for lRGBrange has been included in the release. (SCR 6304) o Binding a light in multiple windows went into an infinite loop. (SCR 6424) o The 4Sight User's Guide incorrectly stated that ismex() always returns TRUE(1). It returns TRUE only if 4Sight is running, otherwise it returns FALSE(0) (SCR 6430) o The text of the GL Programming Guide was changed to reflect the correct returned value for blkread(3G). (SCR 6432) o Unqdevice did not work correctly. (SCR 6469) o The GT and GTX implementation of the GL routine feedback() would crash the pipe if invoked with a buffer size greater than 32k (shorts). (SCR 6576) o Patches did not work in mmode(MVIEWING) on the GT. All forward difference matrix calculations are no longer done in the graphics hardware. (SCR 6638) The non-GT library did not have rectread and rectwrite enabled. (SCR 6791) o Writemask did not reset properly when switching manually. Writemask was being reset to 4095 instead of 1 when leaving overdraw. (SCR 6792, 6794) o The c3s command didn't work on the GTX due to 3 way transfers from short address boundaries.. (SCR 6819) o The lsetdepth() man page did not reflect the difference between the Personal Iris and the Power Series graphics. (SCR 6842) o Self-intersecting polygon fills did not work correctly. (SCR 6943) o Picking mode now works on the 4D GT. (SCR 6847) o Short integers weren't sign extended on the GTX product line. (SCR 6863) 6.4 Bug_Fixes_to_the_Installation_Tools The manual page has been updated to correctly document that install(1) claims the '-f' option must be used in conjunction with '-s', '-o' or - 14 - o The help file has been updated and now correctly states that spacecheck can be defeated with: set spacechk off (SCR 5849) o The installation tool properly clears empty products out of the installation history. (SCR 5871, 6720) o Non-graphics terminals get a default screen size of 24 lines so the installation screens do not scroll off the screen. (SCR 5895, 6717) o Distcp -n now supports writing tape without the standalone tools. (SCR 5960, 6694) o Installation documentation have been corrected to support loading of the miniroot from tape on non- Personal Iris machines. (SCR 6358) o The installation tools no longer make the assumption that all computers are workstations. Therefore, graphics dependent code is not installed on servers with exception of IP6 based servers. (SCR 6570) o GL development headers are no longer inadvertently being shipped. (SCR 6618) o Uname and versions no longer report the operating system revision name differently. (SCR 6665) o The installation tools no longer incorrectly handle symbolic links set up by the user before installation. (SCR 6666) o distcp now correctly copies distribution data from tape to disk. (SCR 6692) o The installation tools no longer have several screens where text wraps around the end of the line. (SCR 6747) o The installation tools now forcefully rewind the tape any time there is a possibility that the tape has not been rewound. (SCR 6988) o Network installation fails if the remote login account on the remote host sends spurious output to the screen during a login session. The Release Notes document how to test for this condition and work around it if it exists. (SCR 7137) >>>>>>>>>> 3.2 Release notes, Chapter 7 >>>>>>>>>> - 1 - 7. Known_Problems_and_Ways_to_Work_Around_Them This chapter describes known problems and ways to work around them the 4D1-3.2 release. 7.1 IRIX o The Revision 10 firmware in IRIS-4D Series workstation and servers does not display memory size when you power up your system. To see the memory size, enter the following command at the PROM monitor prompt (>>) and type: hinv o The IRIX version of vi was enhanced in this release to allow the user to control the intercharacter timeout. This timeout is the length of time that vi waits after receiving an escape (ESC) for another character comprising an escape sequence. For example, many popular types of terminals use escape sequences consisting of ESC followed by several characters to represent single keypresses of terminal arrow keys. Vi needs to be able to distinguish the typing of the ESC key from an escape sequence generated by pressing an arrow key. This is done by waiting for the number of milliseconds specified by the 'timeout' variable after the ESC arrives. If no other characters arrive before the timeout expires, then the ESC is treated as if just the ESC key was pressed. The default setting of 'timeout' is 200 milliseconds. When vi is used in a network environment or through modems, it may be necessary to increase the timeout value in order for escape sequences to be recognized. The timeout variable can be set from within vi or ex, by issuing a set command. For example: :set timeout=400 sets the intercharacter timeout to 400 milliseconds. The current value of 'timeout' can be displayed by :set timeout or :set all A set command for timeout can also be added of the user's .exrc file. o Systems equipped with the VME-based ISI QIC-02 quarter inch cartridge tape controller ) cannot make multi- volume backup tapes using the tar, bru or cpio commands; use the hinv command to determine which type of tape drive you have on your system. This is due to the inability of the controller to recover data after it has been sent to the tape drive when the data on the tape media spans the physical end-of-tape mark. - 2 - Multi-volume backup will function on all other SGI- supplied quarter inch cartridge drives as well as the VME-based 1/2" tape drives. These include the 60 MB and 150 MB SCSI tape drives. See Appendix A, ``Backing Up and Restoring Your System'' for more information. o On machines configured as servers, during heavy use, the following message might appear on the console: WARNING: mfree map overflow. Lost <count> items at <addr>. This indicates a data array in the kernel is too small for the amount of machine usage. The size of this array can be increased by editing the file: /usr/sysgen/master.d/kernel, and increasing the parameter SPTMAP. Increasing this parameter from 50 to 100 should be sufficient. After this modification, it is necessary to reconfigure the kernel, and reboot. /etc/init.d/autoconfig prompts for configuring the new kernel. See lboot(1M) for instructions for reconfiguring the kernel. o On machines configured as servers, which make heavy use of disk storage, it may be possible to increase the performance of the system by increasing the size of the IRIX disk buffer cache. This can be done by editing the file: /usr/sysgen/master.d/kernel, and increasing the parameter NBUF from 100 to 200 (or more). Whether this will yield any performance gain is entirely application-dependent, however, this modification has proven beneficial for applications which generate large amounts disk traffic. After the modification, it is necessary to reconfigure the kernel, and reboot. The simplest way to reconfigure the kernel is to run /etc/init.d/autoconfig. See lboot(1M) for instructions for reconfiguring the kernel. o On machines configured as servers, the maximum number of processes allowed to be in execution may prove to be too small. When the number of active processes is at the maximum, attempts to create new processes (e.g., issuing a command from the shell), will fail. This maximum number of processes is a configurable parameter, given by the NPROC parameter in the file /usr/sysgen/master.d/kernel. As shipped, the NPROC entry is 80 + (MAXUSERS * 16), which yields 96 processes active at any time. Increasing this number to perhaps 300, should remedy the problem of running out of processes. Another way to increase this parameter is to increase the MAXUSERS definition, found in the file /usr/sysgen/system. Note that increasing - 3 - the MAXUSERS definition has effects on sizes of other kernel structures. After the modification is made to the NPROC or MAXUSERS parameters, it is necessary to reconfigure the kernel, and reboot. See lboot(1M) for instructions for reconfiguring the kernel. o If you are using non-standard disk partitions, you will have to create the device special files that reference them, since the device special files corresponding to disk partitions 2, 3, 4, 5, 11, 12, 13, 14, and 15 are no longer created by MAKEDEV. These device special files were the ones in the /dev/dsk and /dev/rdsk directories whose names ended in s2, s3, s4, s5, s11, s12, s13, s14, and s15. For example, /dev/dsk/dks0d2s3, /dev/rdsk/ips1d1s5, and /dev/dsk/xyl0d2s12 used to be created by MAKEDEV, but are no longer. MAKEDEV is a script in the /dev directory that creates all the device special files that are located therein. MAKEDEV was changed in order to save inodes, since these devices were never used in standard configurations. If you need to use them, you must create them manually using mknod. To create the above example devices, you would use mknod as follows: # mknod /dev/dsk/dks0d2s3 b 22 67 # mknod /dev/rdsk/ips1d1s5 c 4 85 # mknod /dev/dsk/xyl0d2s12 b 6 44 Device file names are represented by XXXCdNPP, where XXX refers to disk type (dks is SCSI disks, major number 22; ips is ESDI disks, major number 4; xyl is SMD disks, major number 6), C refers to controller number, N refers to device address (also known as disk number), and PP refers to partition name. For our purposes, the partition number is the partition name without the leading s, i.e. partition name s2 references partition number 2. The minor number can be found using the following equations: For SCSI: (N * 32) + partition number For ESDI and SMD: (C * 64) + (N * 16) + partition number These devices will have to be recreated whenever MAKEDEV is executed. Note that MAKEDEV is always executed when installing IRIX. Refer to mknod(1m), dks(7), ips(7), and xyl(7) for more information. o There is a bug in the bstream(1) buffering filter: if the last input block is less than the current output blocksize, the block is dropped. In other words, any fragment of a block at the end of the input file will not be written to the output. No warning message is generated to indicate that data has been lost and the - 4 - program still exits with normal status in this case. The manual entry says that such trailing partial blocks will be padded with zeros to the size of a complete block and written out, but this is not true of the software shipped in release 3.2. Note that this is not a problem when using bstream(1) to process the output of tar(1) or cpio(1), since these programs never write partial blocks. When the input to bstream(1) is from a program that does not do output blocking, however, data may be silently lost. o The initialization file for pmake(1) contains some invalid entries. To fix them, edit /usr/include/make/system.mk. At the end of the file, the ``.sh.out'' rule needs to remove its target. The entry should read: .sh.out : rm -f $(.TARGET) cp $(.IMPSRC) $(.TARGET); chmod a+x,u+w $(.TARGET) (The first character for the rm and cp lines is a tab.) The rules and command lines for ``.o.a'' and ``.u.b'' should be deleted. 7.2 Program_Development_Tools o The C language expression: x >= y + 1 where x and y are unsigned (y may be an expression) is incorrectly compiled as x > y. The resulting code will work correctly for all values of y except 0xffffffff. Similarly, x < y+1 is transformed to x <= y, which is wrong if y is 0xffffffff. In either case, the way to get around this is to assign y + 1 to a variable and test x against the variable. o When compiling a C program the message ``symbol table full'' might appear. Instructions to increase the size of the table were inadvertently left off of the message. The default table size is 5000 symbols. To increase the symbol table to 12,000 symbols (for example) add the following option to the cc(1) command: -Wf,-XNd12000 o The following routine float f(float x) { return((x > 0.5) ? 1.0 : 0.0); } Returns an incorrect value. The problem is specific to ``float'' arguments and returned values. Nearly any change to the source (such as assigning the result of the query operator to a temporary and returning the temporary) will work around the problem. - 5 - 7.3 Networking o The Visual Administration networking tool currently works properly if you are using the default ifconfig(1M) netmask. (If your network topology uses subnets, the netmask will need to be different.) The network tool does not handle non-default netmasks and will disable the ``nets'' view in the tool. You can access only to the ``hosts'' view. If you want your system to use a netmask other than the default value, you need to take the following steps. 1. Add the following line to the file /etc/config/ifconfig-1.options. If this file does not exist then you need to create it. netmask mask Specify mask as a hex number 0x.. 2. Reboot your system. 3. To confirm the new netmask, type: ifconfig interface_name Replace interface_name with: __________________________________________________________ ec0 4D/20,4D/25 (Personal IRIS & DataStation) et0 4D/1x0, 4D/2x0 (Power Series) enp0 4D/50-80 7.4 Diskless_Personal_IRIS o The 4D/20 and 4D/25 Diskless workstations for a particular class and their server must be in same sub- net. 7.5 HyperNET o Running HyperNET between two workstations on the same adapter used to cause any IRIS-4D to crash while transferring large amounts of data. 7.6 Graphics o The window system now supports the imakebackground() function, but there are some problems with its use: 1. Killing an imakebackground program is supposed to cause the window manager to repaint the currently defined window "root" as set by the "Windows" menu, "Window Style" submenu, and its "More Roots" - 6 - submenu, the default being the familiar sky-blue "Plain Root". The repaint often does not happen, leaving the screen background black. The way to work around this is to select "Redraw All" from the "Windows" menu. (You may have to select "Redraw All" two times). 2. Use of imakebackground programs on 4D50G, 4D60G systems is not recommended because window painting errors can result when the complexity of the window layout results in a clip list that is too large to be supported by the graphics hardware. This problem does not occur on any Personal IRIS, GT, or GTX systems. o If you run any double-buffered RGB mode program (such as Visualizer or QuickModel) at the same time as any double-buffered colorindex mode program (such as the IRIS WorkSpace), the window that doesn't contain the cursor is displayed with incorrect colors. o On GT's, programs that do prefsize, winopen, winconstrains should have a sleep after the winopen to avoid small verticle lines at the bottom of the window. If you see these lines, move the window and they will go way. 7.7 4Sight When 4Sight receives a request from a remote machine to create a NeWS window, it tries to convert the machine's Internet address into a name. 4Sight use the Domain Name Server (named(1M)) or /etc/hosts to do this. (It does not use the Yellow Pages.) If there is a problem doing this conversion, 4Sight might not be able to start up or create windows. The file /usr/etc/resolv.conf specifies the Internet addresses of machines running the name server (see resolver(4) for details). If the file does not exist, the named on the local machine is tried before using the /etc/hosts file. If the resolv.conf file exists but is not setup properly (e.g., it contains addresses of nonexistent machines), 4Sight gives up and prints an error message in /usr/adm/SYSLOG. If all the name servers in resolv.conf become unreachable after 4Sight starts, 4Sight will not be able to create windows. Error messages in /usr/adm/SYSLOG with the format "getsocketpeername: Can't find name for ..." indicate a name service failure. - 7 - The name service failures may be transient; try to create the window again. If it consistently fails, make sure the ethernet cable is still plugged in and the name servers listed in resolv.conf are reachable. Use ping(1M) and nslookup(1M) to check for reachability. If the name server is not used, make sure /etc/hosts has entries for ``localhost'' and all the remote hosts that access your IRIS. For information on setting up named and resolv.conf, see the TCP/IP User's Guide and resolver(4). 7.8 X11_Window_System The performance and functionality of the X11 Window System product on the 4D/[50,60,70,80]G (non GT or GTX) platforms is less than that of the other product lines due to hardware limitations. We suggest upgrading your system to a GT (Graphics Turbo) if you are going to make extensive use of the X11 Window System product. >>>>>>>>>> 3.2 Release notes, Chapter 8 >>>>>>>>>> - 1 - 8. Documentation_Errors_and_Notes This chapter contains errors in the documentation, suggestions for workking around certain problems, and additional notes for this release. Generally, on-line documentation, such as the man pages is more up-to-date than the printed hard copies. This is not true for this document. 8.1 Documentation_Errors 8.1.1 IRIX o Section 3.2, ``Booting the Workstation'' of the IRIS-4D Series Owner's Guide fails to mention fully how to boot an IRIS-4D from a ASCII terminal attached to port 1 (ttyd1). Booting from an ASCII terminal is necessary when you don't have a graphics console or you want to run diagnostics without graphics running on the graphics console. To boot your IRIS-4D from an an ASCII terminal, you must set the PROM Monitor environment variable ``console.'' To set this variable, enter the following command at the PROM Monitor prompt: setenv console d NeWS is not automatically started when you boot from an ASCII terminal. To run NeWS, enter the following command once you have logged on: /etc/gl/restartgl This executes the graphics console daemon, grcond, which starts up the NeWS server. When you boot from an ASCII terminal, the console wsh window doesn't appear on the graphics console screen. This window is synonymous with the PROM Monitor environment variable ``console,'' which is now set to run on the ASCII terminal and not the graphics console. o The hardcopy of the find(1) manual page mentions the -prune option, which is not implemented in software release 4D1-3.2. The online version of the find(1) manual page is correct. See man for information about viewing the online manual pages. 8.1.2 Program_Development_Tools 8.1.2.1 C_Language_Reference_Manual - 2 - 8.1.2.1.1 Chapter_6_-_Declarations The following paragraph updates the description of prototypes in Section 6.4, "Meaning of Declarators." This new description supersedes the paragraph beginning, "A parameter-type-list..." A parameter-type-list declares the types of, and may declare identifiers for, the formal parameters of a function. When a function is invoked for which a function prototype is in scope, each actual parameter is converted to the type of the corresponding formal parameter specified in the function prototype. If the list terminates with an elipsis (...), only the parameters specified in the prototype have their types checked; additional parameters are converted according to the default argument promotions (see Section 5.1). Otherwise, the number of parameters appearing the in parameter list at the point of call must agree in number with those in the function prototype. A prototype must be in scope at both the calling and called sights for the prototype argument promotions to work correctly unless the prototype matches the default argument promotions. A function definition using prototype form is its own prototype. Using old-style function declaration/definitions and prototype declarations/definitions for the same function often yields an erroneous programs. 8.1.2.1.2 Chapter_10_-_Compiler_Control_Lines Section 10.4, ``Conditional Compilation'' incorrectly states that you should use #elif between a #if directive and #else or #endif directives if we have more than 2 conditionals. See cpp(1) for more information. 8.1.2.2 dbx_Reference_Manual There are several features in dbx newer than presented in the reference manual. The man page and help file /usr/lib/dbx.help have been extensively revised to document dbx properly. Both of the on-line documents are more complete than the reference manual. Though there is considerable overlap between the man page and the help file, there is some information in each that is not in the other. 8.1.2.3 Porting_Applications_to_the_IRIS-4D_Family In general, statements in Section 1 and 2 about the GT are also true for the Personal IRIS. See the GL manual pages for up-to-date information. 8.1.2.3.1 Section_2_-_IRIS_3000_to_4D_Conversion_Tutorial Section 6.2, ``Cross-hair Cursors'' states that color 3 is used for the cross-hair cursor. The GT and Personal IRIS use color 1. See mapcolor(3G). - 3 - 8.1.2.4 Porting_FORTRAN_Code_to_IRIS-4D_Workstations 8.1.2.4.1 Chapter_3_-_Code_Compatibility Section 3.3, ``I/O Compatibility'' should mention that the IRIS-4D FORTRAN compiler does not support a BUFFERED specifier to the OPEN statement. Instead, use setbuf() to set a buffer and size. 8.2 Installing_the_Dial_and_Button_Box Some changes have been made that affect the installation of the Dial and Button box. To install the dial and button box an additional change must be made to the line that begins with diald. Step number 3 fails to mention that /dev/console should be changed to /dev/null just as x is changed to 234. Step number 4 should mention when you cycle the power on the Dial and Button box, the LED's indicate the knob numbers and the lights illuminate when you press them. In addition, the box says ``ready'' when you reboot or log in. To restart the dial daemon, log out then log back in. 8.3 TCP/IP_User's_Guide' There are errors in Chapter 5 of the TCP/IP User's Guide Version 2.0, ``BIND Name Server Operations'' is not mentioned in the Guide's errata sheet. Section 5.9, ``Standard Resource Record Format'', describes 2 address classes, IN and ANY. The ANY address class is not supported by BIND version 4.8. The description of the HINFO resource record in Section 5.9 and the HINFO examples in the sample file in Section 5.11.7 mistakenly use the address class ANY; they should use IN instead. 8.4 Graphics_Library_Reference_Manual The newly printed GL Programmer's Guide does not document these GL routines: - 4 - attachcursor blankscreen blanktime blendfunction curson/cursoff deflinestyle defpattern getcpos getgdesc getlsrepeat getlstyle getlwidth getmonitor getothermonitor getpattern getplanes greset gversion linewidth logicop lsrepeat pntsmooth popattributes pushattributes sbox sboxf setlinestyle setmonitor setvideo subpixel videocmd wmpack See the GL manual pages for a description of these routines. 8.5 Graphics_Library_Reference_Manual o zfunction() is implemented on all 4D products. However, the GL reference manual says that it is only on the 4D-GT machines. o The blkqread(3G) man page says that the return value of blkqread is the number of events returned. In fact, it is the number of shorts returned (twice as big as the other number would be). ---------- end of Part 3