Patch Name: PHCO_8677 Patch Description: s700_800 10.20 libc header file cumulative patch Creation Date: 97/01/21 Post Date: 97/03/06 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: ProgSupport.C-INC Automatic Reboot?: No Status: General Superseded Critical: Yes PHCO_8677: OTHER Applications compiled with the "LARGE_FILES" define without this header patch will fail when calling getdirentries(2). Path Name: /hp-ux_patches/s700_800/10.X/PHCO_8677 Symptoms: PHCO_8677: When a source file is compiled with "+O2 +Olibcalls" and the frexp(3M) function is used, the following warning is issued: > warning 5004: Uninitialized variable "exp" in function > "main" (5004) which results in code that does not modify the exponent parameter as it should. CHFts20778 Provides fix for applications which compile using large files. The getdirentries(2) call fails with a garbage value in the basep parameter. DSDe430308. Select system call compatibility feature doesn't work as described in man pages. The XPG4 compliant version of select() (documented as being available by including ) is the only version available. Our man page documents that the backwards compatible version is documented as being available by including . Trying to use the backwards compatible version of select results in a compile error. Requires PHKL_8693 (s700) or PHKL_8694 (s800) in order to fix this problem; installation without either PHKL_8693 or PHKL_8694 will not affect other functionality adversely. DSDe430629, SR-5003330795. PHCO_9261: ANSI C++ programs that use C++ exception handling and include math.h will fail to compile. DSDe431919. Defect Description: PHCO_8677: Provides fix for /usr/include/math.h. When a source file is compiled with "+O2 +Olibcalls" and the frexp(3M) function is used, the following warning is issued: > warning 5004: Uninitialized variable "exp" in function > "main" (5004) where "exp" is the exponent parameter to the frexp call. This results in code that does not modify the exponent parameter as it should. Provides fix for applications which compile using large files. Due to a conflict in the size of the basep parameter to getdirentries(2), the return value wasn't set properly. Select system call compatibility feature doesn't work as described in man pages. The XPG4 compliant version of select() (documented as being available by including ) is the only version available. Our man page documents that the backwards compatible version is documented as being available by including . Trying to use the backwards compatible version of select results in a compile error. PHCO_9261: exception is a ANSI C++ keyword. Declaration of a struct by the same name in math.h violates the ANSI C++ namespace. SR: 5003330795 Patch Files: /usr/include/math.h /usr/include/ndir.h /usr/include/time.h what(1) Output: /usr/include/math.h: $Revision: /ux/core/libs/hdr/math.h@@/main/r10dav/li bc_dav/libc_dav_cpe/6 $ */ /usr/include/ndir.h: $Revision: /ux/core/libs/hdr/ndir.h@@/main/r10dav/li bc_dav/libc_dav_cpe/4 $ */ /usr/include/time.h: $Revision: /ux/core/libs/hdr/time.h@@/main/r10dav/li bc_dav/libc_dav_cpe/4 $ */ cksum(1) Output: 3090356913 14955 /usr/include/math.h 3968389805 4971 /usr/include/ndir.h 249240229 6832 /usr/include/time.h Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_8693 s800: 10.20: PHKL_8694 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_9261 Equivalent Patches: None Patch Package Size: 90 Kbytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_8677 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_8677.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHCO_8677.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_8677. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_8677.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_8677.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None