Patch Name: PHCO_13776 Patch Description: s700_800 10.20 libc header file cumulative patch (ACE 2) Creation Date: 98/01/26 Post Date: 98/03/31 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_13776 Symptoms: PHCO_13776: Add NFS3 and CacheFS defines to mntent.h. This patch is part of the 10.20 ACE 2 bundle which adds networking enhancements to 10.20. New networking features supported in ACE 2 include NFS Version 3.0, AutoFS and CacheFS. DTS #: DSDe441184, STARS #: 4701378117 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_9261: ANSI C++ programs that use C++ exception handling and include math.h will fail to compile. DSDe431919. 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. Defect Description: PHCO_13776: New functionality to support networking features in 10.20. 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_9261: exception is a ANSI C++ keyword. Declaration of a struct by the same name in math.h violates the ANSI C++ namespace. 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. SR: 5003330795 1653214544 5003361725 1653219691 4701378117 Patch Files: /usr/include/ftw.h /usr/include/iconv.h /usr/include/malloc.h /usr/include/math.h /usr/include/mntent.h /usr/include/ndir.h /usr/include/stdlib.h /usr/include/time.h /usr/include/utmp.h what(1) Output: /usr/include/ftw.h: /usr/include/ftw.h: $Revision: ../hdr/ftw.h@@/main/r10dav/libc_dav/libc_ dav_cpe/2 $ */: /usr/include/iconv.h: /usr/include/iconv.h: $Revision: ../hdr/iconv.h@@/main/r10dav/libc_dav/lib c_dav_cpe/1 $ */: /usr/include/malloc.h: /usr/include/malloc.h: $Revision: ../hdr/malloc.h@@/main/r10dav/libc_dav/li bc_dav_cpe/1 $ */ : /usr/include/math.h: /usr/include/math.h: $Revision: ../hdr/math.h@@/main/r10dav/libc_dav/libc _dav_cpe/6 $ */: /usr/include/mntent.h: /usr/include/mntent.h: $Revision: ../hdr/mntent.h@@/main/r10dav/libc_dav/li bc_dav_cpe/3 $ */: /usr/include/ndir.h: /usr/include/ndir.h: $Revision: ../hdr/ndir.h@@/main/r10dav/libc_dav/libc _dav_cpe/4 $ */ : /usr/include/stdlib.h: /usr/include/stdlib.h: $Revision: ../hdr/stdlib.h@@/main/r10dav/libc_dav/li bc_dav_cpe/1 $ */: /usr/include/time.h: /usr/include/time.h: $Revision: ../hdr/time.h@@/main/r10dav/libc_dav/libc _dav_cpe/4 $ */: /usr/include/utmp.h: /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 4194121315 6742 /usr/include/mntent.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_8677 PHCO_9261 PHCO_11586 PHCO_12992 Equivalent Patches: None Patch Package Size: 130 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_13776 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_13776.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_13776.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_13776. 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_13776.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_13776.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None