Patch Name: PHSS_7311 Patch Description: s700_800 10.01 ANSI C compiler cumulative patch Creation Date: 96/06/21 Post Date: 96/09/16 Hardware Platforms - OS Releases: s700: 10.01 10.10 s800: 10.01 10.10 Products: C-ANSI-C A.10.11,A.10.31.02 C-Dev-Tools A.10.11,A.10.31.02 Auxiliary-Opt B.10.00 Filesets: C-ANSI-C.C,A.10.11,A.10.31.02 C-Dev-Tools.C-AUX,A.10.11,A.10.31.02 Auxiliary-Opt.LANG-AUX,A.10.01.18 Auxiliary-Opt.LANG-SMP,A.10.10.02 Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHSS_7311 Symptoms: PHSS_7311: Problem with pragma HP_ALIGN NOPADDING with arrays Bad code for bit fields in static struct, address % 4 is 2 Problem with #pragma HP_ALIGN +O1 build of module gets into infinite loop in value numbering PHSS_5743: SPEC95 performance enhancement. Defect Description: PHSS_7311: Compiler problems. 1) Problems with pragma HP_ALIGN NOPADDING with arrays 2) Bad code for bit fields in static struct, address % 4 is 2 3) +O1 build of module gets into infinite loop in value numbering PHSS_5743: Compiler and optimization problems cc patch for: 1) String initializer isn't put in $LIT$ space with +ESlit and +z 2) Invalid loader fixup with array of strings and +z 3) Problem with +O2 and arrays of structs with float 4) optimizer problem with array of struct 5) Program aborting at runtime with invalid fixup 6) cxref is generating incorrect info for initializer list 7) Ucode gets assert 199 while compiling nasa7 8) MLP: Backend Assert ** Symbol table entry of wrong class. (5172) 9) Bus error: Word load attempted on a static halfword variable 10) (PCXU) Ucode abort after COR 11) Load before store with +Oparallel FORTRAN pointer 12) ISTR floats above initialization of stored-through pointer (same as CLLbs02413) 13) Ucode leaks memory when invoked by ucomp 14) Backend assert SR: 5003291187 1653159202 1653158154 5003268797 5003269993 5003269027 5003268797 Patch Files: /opt/ansic/bin/cc /opt/ansic/lbin/ccom /opt/ansic/lib/nls/msg/C/cc.cat /opt/langtools/lbin/cpp.ansi /opt/langtools/lbin/cpp /opt/langtools/lib/nls/msg/C/cpp.cat /opt/langtools/lib/nls/msg/C/ucomp.cat.tmp /opt/langtools/lbin/ucomp.tmp /opt/langtools/lib/libmp.a.tmp /opt/langtools/lib/libp/libmp.a.tmp what(1) Output: /opt/ansic/bin/cc: HP92453-01 A.10.31.02 HP C Compiler (LINT A.10.31.01 CXREF A.10.31.01) /usr/lib/libc: $Revision: 76.3 $ /opt/ansic/lbin/ccom: HP92453-01 A.10.31.02 HP C Compiler (LINT A.10.31.01 CXREF A.10.31.01) HP-UX SLLIC/OPTIMIZER UX.10.01.15 (MLP): 04/08/96 Ucode Code Generator - UX.10.10.05 (BCK_UX_10.WC_BL0 9) - 96/05/08 REV: HP SESD Code High Level Optimizer - UX.10.10.05 (WC) [-DHLO_RELEA SE +O3] - 10-May-96.18:30 /usr/lib/libc: $Revision: 76.3 $ /opt/ansic/lib/nls/msg/C/cc.cat: HP92453-01 A.10.31.02 HP C Compiler Copyright 1995, Hewlett-Packard Co. /opt/ansic/lib/nls/msg/C/ucomp.cat.tmp: None /opt/langtools/lbin/cpp.ansi: HP92453-01 A.10.31.02 HP C Preprocessor (ANSI) /usr/lib/libc: $Revision: 76.3 $ /opt/langtools/lbin/cpp: HP92453-01 A.10.31.02 HP C Preprocessor /usr/lib/libc: $Revision: 76.3 $ /opt/langtools/lib/nls/msg/C/cpp.cat: HP92453-01 A.10.31.02 HP C Preprocessor Copyright 19 85, Hewlett-Packard Co. /opt/langtools/lbin/ucomp.tmp: HP-UX UCOMP UX.10.01.18 MLP : 05/08/96 HP-UX SLLIC/OPTIMIZER UX.10.01.15 (MLP): 04/08/96 Ucode Code Generator - UX.10.10.05 (BCK_UX_10.WC_BL0 9) - 96/05/08 High Level Optimizer - UX.10.10.05 (WC) [-DHLO_RELEA SE +O3] - 10-May-96.18:30 /usr/lib/libc: $Revision: 76.3 $ /opt/langtools/lib/libmp.a.tmp: Parallel Runtime Library - UX.10.10.02 (WC,patch) [+ O4] - 15-Feb-96.09:43 /opt/langtools/lib/libp/libmp.a.tmp: Parallel Runtime Library - UX.10.10.02 (WC,patch) [+ O4] - 15-Feb-96.09:43 cksum(1) Output: 659084089 241664 /opt/ansic/bin/cc 2922287406 5124096 /opt/ansic/lbin/ccom 3388466201 76946 /opt/ansic/lib/nls/msg/C/cc.cat 2305852456 258048 /opt/langtools/lbin/cpp.ansi 3884003312 253952 /opt/langtools/lbin/cpp 2047343922 9653 /opt/langtools/lib/nls/msg/C/cpp.cat 1018759993 32756 /opt/langtools/lib/nls/msg/C/ucomp.cat.tmp 3468560857 3792896 /opt/langtools/lbin/ucomp.tmp 2237898122 68256 /opt/langtools/lib/libmp.a.tmp 36757481 74520 /opt/langtools/lib/libp/libmp.a.tmp Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_5743 Equivalent Patches: None Patch Package Size: 9820 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_7311 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_7311.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/PHSS_7311.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/PHSS_7311. 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 PHSS_7311.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/PHSS_7311.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None