========================================================================== The checksum's (found through sum -r) of the files that you have received (other than this README) are as follows: 43984 6 patchSG0003537.idb 28472 928 patchSG0003537.compiler_dev_sw 28472 928 patchSG0003537.compiler_dev_sw32 03085 943 patchSG0003537.compiler_dev_sw64 21670 680 patchSG0003537.compiler_eoe_sw64 43492 15 patchSG0003537 23045 676 patchSG0003537.compiler_eoe_sw ========================================================================== - 1 - 1. Patch_SG0003537_Release_Note This release note describes patch SG0003537 to IRIX 6.2, 6.3, 6.4 and 6.5. 1.1 Supported_Hardware_Platforms This patch contains bug fixes for all platforms running 6.2, 6.3, 6.4 and 6.5. The software cannot be installed on other configurations. 1.2 Supported_Software_Platforms This patch contains bug fixes for the Fortran, C, and C++ compiler development and execution environment on a system running IRIX 6.2, 6.3, 6.4 and 6.5. While installing the patch you may notice a conflict between patchSG0003537.compiler_dev_sw.lib and patchSG0003537.compiler_dev_sw32.lib. These conflicts are to be expected, so rather than overriding the conflicts, do not install the conflicting subsystem. This patch replaces patches SG0001382, SG0001390, SG0001481, SG0001609, SG0001737, SG0001816, SG0001896, SG0002422, SG0002773, SG0003076, SG0003139 and SG0003413. This patch is incompatible with patch SG0002016. 1.3 Bugs_Fixed_by_Patch_SG0003537 This patch contains fixes for the following bugs. Bug numbers from Silicon Graphics bug tracking system are included for reference. o SGI bug number 658799: 6.5.[2,3] libmp.so not cpr compliant o SGI bug number 657207: cannot change no. of threads between parallel regions with 73 compilers o SGI bug number 638713: various routines invoke mp_numthreads disabling dynamic threads in 6.5 o SGI bug number 554156: MP_SLAVE_STACKSIZE undiagnosable by mortals - 2 - o SGI bug number 560707: Fortran MP programs (sproc) fail with unlimited stacksize o SGI bug number 587240: Performance degradation when OMP_DYNAMIC set and running under miser o SGI bug number 599609: libmp MLD information corrupt on 128 CPUs o SGI bug number 610654: OpenMP - misleading error message for barrier in parallel do o SGI bug number 232474: The routine mp_set_slave_stacksize should return old value of stacksize. With this patch the routine now returns the previous value of stacksize. o SGI bug number 378358: The MP library had a bug in -n32 compilation where the return address was improperly aligned in memory. This caused a problem with stack- unwind by tools such as dbx and gprof. o SGI bug number 404228: The MP library now provides support for data distribution, useful in the context of distributed shared memory machines such as the Origins. o SGI bug number 441658: A user-specified signal handler to trap control-c did not work. This patch fixes this bug, so that user-defined handlers to catch SIGINT now work. o SGI bug number 451258: CC Sync counter can occasionally encounter a hardware deadlock on IP25. With this patch the use of the CC-sync counter is disabled by default. o SGI bug number 455437: Bug in using hardware fetch- and-op on IP27 through the _DSM_FOP environment variable (programs run with 1 thread get deadlocked). With this patch _DSM_FOP now works correctly with varying number of threads, including 1. - 3 - o SGI bug number 455511: On IP27 the environment variable _DSM_MUSTRUN could sometimes cause multiple threads to be assigned to the same node, leading to poor performance. With this patch the MP library requests a small amount of memory per node, avoiding corner cases that resulted in the above problem. o SGI bug number 460617: The symbol pm_filldefault referenced by the MP library is undefined on systems before IRIX 6.4. To allow execution on earlier systems (e.g. IRIX 6.2) this symbol needs to be declared as weak within the library. o SGI bug number 468925: On Origin-2000 systems although page migration is disabled by default, once enabled the migration level requested was extremely aggressive. With this patch the migration level (if enabled) is lower with the value 10 on a scale of 1-100. In addition, the user can control the migration level explicitly through the environment variable _DSM_MIGRATION_LEVEL (which can take values between 1 and 100). o SGI bug number 474179: This patch cleans up two environment variables. The first concerns data placement on Origin-2000 systems: _DSM_PLACEMENT is now the recommended way to obtain either FIRST_TOUCH data placement (default) or ROUND_ROBIN placement (optional). The second environment variable controls the underlying barrier implementation in the MP runtime: _DSM_BARRIER can now be set to FOP, enabling the hardware uncached/fetchop barrier implementation (disabled by default). o SGI bug number 520385: This patch fixes a bug in the handling a zero-trip parallel loop with either dynamic or gss scheduling. Before this fix, such a parallel loop could spin indefinitely. o SGI bug number 538673: This patch fixes a bug in program termination when the user program has installed a SIGCLD handler. Before this fix, such a program could result in error messages of the form "Error doing waitpid for slave termination". - 4 - o SGI bug number 549413: breakup patch 2416 runtime into smaller patches o SGI bug number 561897: This patch fixes a race condition in handling the ONTO clause. o SGI bug number 562965: This patch fixes a bug in handling overlapping portions of a distributed array. o SGI bug number 574971: This patch fixes a bug in handling affinity for a non-distributed dimension of an array, and in computing the loop bounds for a block- distribution. o SGI bug number 576927: If the program exits due to an error condition, some threads might be killed while they are holding a lock. This fix ensures that the program does not deadlock in that situation. 1.4 Subsystems_Included_in_Patch_SG0003537 This patch replaces patches, and 3413. 1382 1390 1481 1609 1737 1816 1896 2422, 2773 and 3076 This patch release includes these subsystems: o patchSG0003537.compiler_dev_sw.lib o patchSG0003537.compiler_dev_sw32.lib o patchSG0003537.compiler_dev_sw64.lib o patchSG0003537.compiler_eoe_sw.lib o patchSG0003537.compiler_eoe_sw64.lib 1.5 Installation_Instructions Because you want to install only the patches for problems you have encountered, patch software is not installed by default. After reading the descriptions of the bugs fixed in this patch (see Section 1.3), determine the patches that - 5 - meet your specific needs. If, after reading Sections 1.1 and 1.2 of these release notes, you are unsure whether your hardware and software meet the requirements for installing a particular patch, run inst. The inst program does not allow you to install patches that are incompatible with your hardware or software. Patch software is installed like any other Silicon Graphics software product. Follow the instructions in your Software Installation Administrator's Guide to bring up the miniroot form of the software installation tools. Follow these steps to select a patch for installation: 1. At the Inst> prompt, type install patchSGxxxxxxx where xxxxxxx is the patch number. 2. Initiate the installation sequence. Type Inst> go 3. You may find that two patches have been marked as incompatible. (The installation tools reject an installation request if an incompatibility is detected.) If this occurs, you must deselect one of the patches. Inst> keep patchSGxxxxxxx where xxxxxxx is the patch number. 4. After completing the installation process, exit the inst program by typing Inst> quit 1.6 Patch_Removal_Instructions To remove a patch, use the versions remove command as you would for any other software subsystem. The removal process reinstates the original version of software unless you have specifically removed the patch history from your system. versions remove patchSGxxxxxxx - 6 - where xxxxxxx is the patch number. To keep a patch but increase your disk space, use the versions removehist command to remove the patch history. versions removehist patchSGxxxxxxx where xxxxxxx is the patch number. 1.7 Known_Problems