Patch Name: PHCO_12992 Patch Description: s700_800 10.20 libc cumulative header file patch Creation Date: 97/10/24 Post Date: 97/11/10 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: ProgSupport.C-INC Automatic Reboot?: No Status: General Superseded Critical: No (superseded patches were critical) 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_12992 Symptoms: PHCO_12992: Add mallopt(3c) constant. PHCO_11586: When the user compiles in ANSI extended and includes /usr/include/ftw.h, the first parameter to ftw(3c) is erroneously non-const. DSDe436482, SR 1653214544. The prototype for utmpname(3C) is missing from /usr/include/utmp.h. DSDe434984, SR 5003361725. C++ applications that include the file /usr/include/iconv.h do not compile because the definition of the __iconv_rec structure contains an superfluous "typedef" keyword which the C++ compiler treats as an error. DSDe437429, SR 1653219691. 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_12992: A mallopt(3c) constant was missing. PHCO_11586: For the header file /usr/include/ftw.h, the extra underscore in "__STDC_EXT___" causes the first parameter to ftw() to be non-const when compiling ANSI extended. The prototype for utmpname(3C) is missing from /usr/include/utmp.h. There was an extraneous "typedef" in the __iconv_rec structure definition in /usr/include/iconv.h which prevented ANSI C++ compiles. 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 1653214544 5003361725 1653219691 Patch Files: /usr/include/ftw.h /usr/include/iconv.h /usr/include/malloc.h /usr/include/math.h /usr/include/ndir.h /usr/include/stdlib.h /usr/include/time.h /usr/include/utmp.h what(1) Output: /usr/include/ftw.h: $Revision: ../hdr/ftw.h@@/main/r10dav/libc_dav/libc_ dav_cpe/2 $ */ /usr/include/iconv.h: $Revision: ../hdr/iconv.h@@/main/r10dav/libc_dav/lib c_dav_cpe/1 $ */ /usr/include/malloc.h: $Revision: ../hdr/malloc.h@@/main/r10dav/libc_dav/li bc_dav_cpe/1 $ */ /usr/include/math.h: $Revision: ../hdr/math.h@@/main/r10dav/libc_dav/libc _dav_cpe/6 $ */ /usr/include/ndir.h: $Revision: ../hdr/ndir.h@@/main/r10dav/libc_dav/libc _dav_cpe/4 $ */ /usr/include/stdlib.h: $Revision: ../hdr/stdlib.h@@/main/r10dav/libc_dav/li bc_dav_cpe/1 $ */ /usr/include/time.h: $Revision: ../hdr/time.h@@/main/r10dav/libc_dav/libc _dav_cpe/4 $ */ /usr/include/utmp.h: $Revision: ../hdr/utmp.h@@/main/r10dav/libc_dav/libc _dav_cpe/1 $ */ cksum(1) Output: 2905785475 5980 /usr/include/ftw.h 2896706865 2381 /usr/include/iconv.h 1273207641 2230 /usr/include/malloc.h 3056179703 14944 /usr/include/math.h 1193108819 4960 /usr/include/ndir.h 1619671394 11984 /usr/include/stdlib.h 1808584571 6821 /usr/include/time.h 651426428 3887 /usr/include/utmp.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 PHCO_8677 PHCO_11586 Equivalent Patches: None Patch Package Size: 120 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_12992 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_12992.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_12992.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_12992. 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_12992.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_12992.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None