Patch Name: PHSS_23818 Patch Description: s700_800 11.11 cpp cumulative patch Creation Date: 01/05/05 Post Date: 01/09/20 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.C-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No (superseded patches were critical) PHSS_23070: HANG Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHSS_23818 Symptoms: PHSS_23818: CR: JAGad64527:mk_kernel failure on 10.20 32 bit to 11.11 This defect was in patch PHSS_23644. The problem occurs only when update_ux is run which includes patch PHSS_23644. PHSS_23644: The patch PHSS_23070 was not installable using IUX. PHSS_23070: At the CDE login prompt, at the "language" menu, if you select es_ES.iso88591, CDE hangs. Defect Description: PHSS_23818: CR: JAGad64527:mk_kernel failure on 10.20 32 bit to 11.11 This problem occurs because of the cpp patch PHSS_23644. This patch installs 11.11 cpp in /usr/ccs/lbin/cpp. When update_ux is run to update from, for eg. a 10.x OS to 11.11, mk_kernel builds the 11.11 kernel sources before rebooting. Since the cpp binaries installed are of 11.11 and the cc is still 10.x , cc panics when it calls 11.11. The fix was not to ship /usr/ccs/lbin/cpp and /usr/lib/nls/msg/C/cpp.cat from the patch. Send only /usr/newconfig/usr/ccs/lbin/cpp and /usr/newconfig/usr/lib/nls/msg/C/cpp.cat along with this patch. This will ensure that the 10.x cpp does not get overwritten. IUX installation will need the cpp files in /usr/newconfig/usr/ccs/lbin/cpp and /usr/newconfig/usr/lib/nls/msg/C/cpp.cat directories but not the /usr/ccs/lbin/cpp and /usr/lib/nls/msg/C/cpp.cat files. This was the change made to PHSS_23644 patch in this patch. PHSS_23644 was created to fix IUX problem which will still work with this patch. Along with this change, since we are not shipping /usr/ccs/lbin/cpp and /usr/nls/msg/C/cpp.cat files, and the newconfig files would over-write the existing cpp files there should be a way to get back the old files if someone does an swremove. To take care of that, two new scripts were packaged, postinstall and postremove, which takes a backup of the old cpp files and restores the files when you run swremove. PHSS_23644: Making the patch PHSS_23070 installable using IUX too. PHSS_23070: The problem was because of an isdigit() library function call in cpp (the C preprocessor) which was made without checking if the input is within the allowable range.The return value in this case would be indeterminate which would cause cpp to get into an infinite loop. Resolution: Made a check in the cpp code whenever isdigit() is called as to whether the input parameter to isdigit() is in the allowable range. SR: 8606195323 Patch Files: OS-Core.C-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/newconfig/usr/ccs/lbin/cpp /usr/newconfig/usr/lib/nls/msg/C/cpp.cat what(1) Output: OS-Core.C-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/newconfig/usr/ccs/lbin/cpp: HP92453-01 B.11.11.02 HP C (Bundled) Preprocessor $ Sep 8 2000 23:13:51 $ /usr/newconfig/usr/lib/nls/msg/C/cpp.cat: HP92453-01 B.11.11.02 HP C Preprocessor Copyright 19 85, Hewlett-Packard Co. cksum(1) Output: OS-Core.C-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 2209528847 290816 /usr/newconfig/usr/ccs/lbin/cpp 2071906299 10786 /usr/newconfig/usr/lib/nls/msg/C/cpp.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_23070 PHSS_23644 Equivalent Patches: None Patch Package Size: 330 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 PHSS_23818 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_23818.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_23818. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHSS_23818.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHSS_23818.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_23818.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_23818.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None