Patch Name: PHKL_15240 Patch Description: s700 10.20 kernel header files cumulative patch Creation Date: 98/06/04 Post Date: 98/07/07 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN ProgSupport.C-INC Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700/10.X/PHKL_15240 Symptoms: PHKL_15240: Illegal definitions in types.h and missing definition in unistd.h. PHKL_14172: C++ could not compile large file applications properly because certain prototype definitions were not properly set up for C++. PHKL_11853: The identifier 'time_t' is defined to be "init32_t" in kernel space which is correct for ANSI-C, POSIX and XPG standards but it breaks C++ compatibility. PHKL_11827: The 2 defines _XOPEN_UNIX and _XOPEN_CURSES are being seen only if _XOPEN_SOURCE_EXTENDED is defined. This caused standard 10.20 tests to fail. Defect Description: PHKL_15240: SR# 4701389643 Illegally defined symbols in types.h: K_OFF_T, K_RLIM_T, K_BLKCNT_T, K_FSFILCNT_T, K_FSBLKCNT_T, DIR_OFF_T SR# 4701390864 Missing definition for _SC_LIBC_VERSION PHKL_14172: Compile a program with the C++ compiler and the large files options "-D_FILE_OFFSET_BITS=64" or "-DLARGEFILE64_SOURCE", when including the headers in this patch, would fail. Various errors and warnings would be generated, such as using Old-Style function definitions. These new headers have been amended to work properly on C++ programs using the large files options, without causing any changes for C or non-large files C++ applications. PHKL_11853: The identifier time_t needs to be a long instead of an int32_t as otherwise it breaks C++ compatibility. The fix was to change time_t to a long (which is 64-bits) in 32-bit environment and 64-bits in 64-bit environment. As seen, long and int32_t are 32-bits in 32-bit environment. PHKL_11827: The scope of 2 macros _XOPEN_UNIX and _XOPEN_CURSES was defined to be within an ifdef _XOPEN_SOURCE_EXTENDED, and hence were not always defined. _XOPEN_CURSES should get defined at all times, without any other defines or without the UNIX95 env variable set. _XOPEN_UNIX should get defined to -l when UNIX95 flag is not set without having to define _XOPEN_SOURCE_EXTENDED. SR: 1653208348 4701361832 4701390864 4701389643 5003376160 Patch Files: /usr/conf/h/_inttypes.h /usr/conf/h/fcntl.h /usr/conf/h/mman.h /usr/conf/h/resource.h /usr/conf/h/stat.h /usr/conf/h/types.h /usr/conf/h/unistd.h /usr/include/sys/_inttypes.h /usr/include/sys/fcntl.h /usr/include/sys/mman.h /usr/include/sys/resource.h /usr/include/sys/stat.h /usr/include/sys/statvfs.h /usr/include/sys/types.h /usr/include/sys/unistd.h what(1) Output: /usr/conf/h/_inttypes.h: _inttypes.h: $Revision: 1.2.98.8 $ $Date: 98/02/18 0 6:22:55 $ _inttypes.h $Date: 98/02/18 06:22:55 $ $Revision: 1. 2.98.8 $ PATCH_10.20 (PHKL_14172) $Revision: 1.2.98.8 $ */ /usr/conf/h/fcntl.h: fcntl.h $Date: 98/02/18 06:24:10 $ $Revision: 1.30.9 8.12 $ PATCH_10.20 (PHKL_14172) /usr/conf/h/mman.h: $Revision: 1.16.98.7 $ */ mman.h $Date: 98/02/18 06:24:13 $ $Revision: 1.16.98 .7 $ PATCH_10.20 (PHKL_14172) /usr/conf/h/resource.h: resource.h $Date: 98/02/18 06:24:15 $ $Revision: 1.1 5.98.14 $ PATCH_10.20 (PHKL_14172) /usr/conf/h/stat.h: stat.h $Date: 98/02/18 06:24:16 $ $Revision: 1.32.98 .8 $ PATCH_10.20 (PHKL_14172) /usr/conf/h/types.h: types.h $Date: 98/06/02 15:56:15 $ $Revision: 1.41. 98.15 $ PATCH_10.20 (PHKL_15240) /usr/conf/h/unistd.h: unistd.h $Date: 98/06/02 15:55:53 $ $Revision: 1.24. 98.13 $ PATCH_10.20 (PHKL_15240) /usr/include/sys/_inttypes.h: _inttypes.h: $Revision: 1.2.98.8 $ $Date: 98/02/18 0 6:22:55 $ _inttypes.h $Date: 98/02/18 06:22:55 $ $Revision: 1. 2.98.8 $ PATCH_10.20 (PHKL_14172) $Revision: 1.2.98.8 $ */ /usr/include/sys/fcntl.h: fcntl.h $Date: 98/02/18 06:24:10 $ $Revision: 1.30.9 8.12 $ PATCH_10.20 (PHKL_14172) /usr/include/sys/mman.h: $Revision: 1.16.98.7 $ */ mman.h $Date: 98/02/18 06:24:13 $ $Revision: 1.16.98 .7 $ PATCH_10.20 (PHKL_14172) /usr/include/sys/resource.h: resource.h $Date: 98/02/18 06:24:15 $ $Revision: 1.1 5.98.14 $ PATCH_10.20 (PHKL_14172) /usr/include/sys/stat.h: stat.h $Date: 98/02/18 06:24:16 $ $Revision: 1.32.98 .8 $ PATCH_10.20 (PHKL_14172) /usr/include/sys/statvfs.h: statvfs.h: $Revision: 1.6.98.8 $ $Date: 98/02/18 06: 24:18 $ statvfs.h $Date: 98/02/18 06:24:18 $ $Revision: 1.6. 98.8 $ PATCH_10.20 (PHKL_14172) /usr/include/sys/types.h: types.h $Date: 98/06/02 15:56:15 $ $Revision: 1.41. 98.15 $ PATCH_10.20 (PHKL_15240) /usr/include/sys/unistd.h: unistd.h $Date: 98/06/02 15:55:53 $ $Revision: 1.24. 98.13 $ PATCH_10.20 (PHKL_15240) cksum(1) Output: 1710780284 5294 /usr/conf/h/_inttypes.h 4109958378 8999 /usr/conf/h/fcntl.h 129352055 9809 /usr/conf/h/mman.h 2391349047 6125 /usr/conf/h/resource.h 372691144 9373 /usr/conf/h/stat.h 3843730458 15611 /usr/conf/h/types.h 1226143878 35577 /usr/conf/h/unistd.h 1710780284 5294 /usr/include/sys/_inttypes.h 4109958378 8999 /usr/include/sys/fcntl.h 129352055 9809 /usr/include/sys/mman.h 2391349047 6125 /usr/include/sys/resource.h 372691144 9373 /usr/include/sys/stat.h 1909241459 5084 /usr/include/sys/statvfs.h 3843730458 15611 /usr/include/sys/types.h 1226143878 35577 /usr/include/sys/unistd.h Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_11827 PHKL_11853 PHKL_14172 Equivalent Patches: PHKL_15247: s800: 10.20 Patch Package Size: 210 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 PHKL_15240 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_15240.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/PHKL_15240.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/PHKL_15240. 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 PHKL_15240.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/PHKL_15240.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Due to the number of objects in this patch, the customization phase of the update may take more than 10 minutes. During that time the system will not appear to make forward progress, but it will actually be installing the objects.