Tech Insider					     Technology and Trends

			      USENET Archives

Path: utzoo!attcan!uunet!mailrus!!!decwrl!
From: (Jim Barton)
Newsgroups: comp.sys.sgi
Subject: IRIX 3.2 Release Notes (Part 1 of 3)
Message-ID: <>
Date: 19 Nov 89 18:38:54 GMT
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!", sgi!, ...{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
				  - 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
	  o User-level SCSI devices drivers.  See ds(7M) in the
	    IRIS-4D Programmer's Reference Manual for more
	  o Support for	the use	of all serial ports on Power Series
       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	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
			 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
       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
       eoe1.sw.ts	 This is the driver for	the ISI	VME
			 quarter-inch cartridge	tape controller.
			 It is required	on systems with	that option
				  - 9 -
       eoe1.sw.unix	 This subsystem	contains the core IRIX
			 commands and files and	is required on all
				  - 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. This is an on-line readable copy of the
			 IRIX release notes.	 This is an on-line copy of the	IRIX user's
			 manual.  Entries may be viewed	with the
			 ``man'' command.	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
			 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
       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
			 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 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 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
       eoe2.sw.sysadm	 This is a system administration package
			 that does not require graphics	and is
			 intended for use primarily on server
       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.	 This is an on-line version of the IRIX
			 user's	manual entries that describe the
			 commands in the eoe2.sw.X11 subsystem.	 This is an on-line version of the IRIX
			 user's	manual section 6, which	describes
			 the demonstration programs.	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.	 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
       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.	 This contains all of the programmer's
			 reference manual in an	on-line	readable
				  - 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
       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      284	 284	   284	    284	   yes	     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		663	   663	     663      663    no		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	     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	      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
				  - 3 -
		     * on whatever cpu is available), make the
		     * call:
		 ...  }	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
       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:
       See the Graphics	Library	Programmer's Guide for more
				  - 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
       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
	  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
       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
	  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
	    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
	    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
	  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!!rutgers!usc!!rpi!!!decwrl!sgi!
From: (Jim Barton)
Newsgroups: comp.sys.sgi
Subject: IRIX 3.2 Release Notes (Part 2 of 3)
Message-ID: <>
Date: 19 Nov 89 18:39:47 GMT
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
				  - 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
	  o multiple programs can aesthetically	coexist	on the
	  o double-buffered applications look good on minimal
	  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
       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
       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
       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
			       * 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
				  - 6 -
	  o The	Window Manager has improved aesthetics and
	    controls, and better support for multi-windowed
	    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
	    Y while not	in feedback mode.
	  o The	smoothline routine now is obsolete and has been
	    replaced with a functionally equivalent routine called
	  o The	lsetdepth routine replaces setdepth, which is now
	    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
	  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
	  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
       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.  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
       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
       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
       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
       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
       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, file there is a file, as
       well as a subdirectory /usr/people/4Dgifts/.4sight.  This
       directory contains nine additional 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.	Special_Gifts
		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
       ./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.	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.	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
	    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,,} 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
       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
       5.3.7  Changes_to_the_NeWS_Gifts	 The NeWS gifts	are now
       under /usr/NeWS/clientsrc, and you can compiled them
				  - 13 -
       5.4  Changes_to_Networking
       The 4D1-3.2 software release includes these changes to
	  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
	  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
	  o The	following daemons now look for .options	files in
	    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/  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/ 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
	  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
	  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
	  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
	  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
	  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
	  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
	  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
	    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
	  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,
	  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
	  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!!rutgers!usc!!!!decwrl!sgi!
From: (Jim Barton)
Newsgroups: comp.sys.sgi
Subject: IRIX 3.2 Release Notes (Part 3 of 3)
Message-ID: <>
Date: 19 Nov 89 18:40:54 GMT
Organization: Silicon Graphics, Inc., Mountain View, CA
Lines: 821
-------------------- cut here -------------------
	    distribution for wider availability	to customers.  (SCR
	  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 _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
	  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
	     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
	  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
	  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
	  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
	    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/  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
       7.2  Program_Development_Tools
	  o The	C language expression: x >= y +	1 where	x and y	are
	    (y may be an expression) is	incorrectly compiled as	x >
	    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
	  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:
	  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-
       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
       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
       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
       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	C_Language_Reference_Manual
				  - 2 -  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.  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.	dbx_Reference_Manual  There are	several	features in
       dbx newer than presented	in the reference manual.  The man
       page and	help file /usr/lib/ 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.	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.  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 -	Porting_FORTRAN_Code_to_IRIS-4D_Workstations  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

			        About USENET

USENET (Users’ Network) was a bulletin board shared among many computer
systems around the world. USENET was a logical network, sitting on top
of several physical networks, among them UUCP, BLICN, BERKNET, X.25, and
the ARPANET. Sites on USENET included many universities, private companies
and research organizations. See USENET Archives.

		       SCO Files Lawsuit Against IBM

March 7, 2003 - The SCO Group filed legal action against IBM in the State 
Court of Utah for trade secrets misappropriation, tortious interference, 
unfair competition and breach of contract. The complaint alleges that IBM 
made concentrated efforts to improperly destroy the economic value of 
UNIX, particularly UNIX on Intel, to benefit IBM's Linux services 
business. See SCO vs IBM.

The materials and information included in this website may only be used
for purposes such as criticism, review, private study, scholarship, or

Electronic mail:			       WorldWideWeb: