Patch Name: PHSS_8385 Patch Description: s700_800 10.X ANSI C compiler cumulative patch Creation Date: 96/08/28 Post Date: 96/10/01 Hardware Platforms - OS Releases: s700: 10.01 10.10 10.20 s800: 10.01 10.10 10.20 Products: C-ANSI-C B.10.03 B.10.03.10 C-Dev-Tools B.10.01 B.10.03.10 Auxiliary-Opt B.10.01 B.10.03.10 Filesets: C-ANSI-C.C,B.10.03,B.10.03.10 C-Dev-Tools.C-AUX,B.10.03,B.10.03.10 Auxiliary-Opt.LANG-AUX,B.10.01,B.10.03.10 Auxiliary-Opt.LANG-SMP,B.10.01,B.10.03.10 Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHSS_8385 Symptoms: PHSS_8385: Performance improvements and several bug fixes. 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_6369: cpp.ansi out of dynamic memory PHSS_5743: SPEC95 performance enhancement. Defect Description: PHSS_8385: Compiler problems. 1) Problem with pragma HP_ALIGN NOPADDING with arrays 2) Compiler gets signal 11 3) Bad error 1647 with ? &x : NULL 4) Problem with #pragma HP_ALIGN 5) Error for "Tentative definition" using previously-undefined structure tag 6) Can't increment/decrement by large long long constant a += big 7) Nested switch doesn't find default case in 10.0 8) Error 1514 Illegal type for string initializer on string cast 9) typedef of struct tag confuses another struct and label 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_6369: Compiler problems. 1) cpp.ansi requires much more heap space in preprocessing macros with lots of parameters than the original cpp.ansi. This results in running out of dynamic memory on systems with smaller amount of heap storage. 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 1653158535 1653143180 1653158154 5003305276 5003309930 5003285056 1653155895 1653147090 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: LINT A.10.32.03 CXREF A.10.32.03 HP92453-01 A.10.32.04 HP C Compiler /usr/lib/libc: $Revision: 76.3 $ /opt/ansic/lbin/ccom: LINT A.10.32.03 CXREF A.10.32.03 HP92453-01 A.10.32.04 HP C Compiler HP-UX SLLIC/OPTIMIZER UX.10.20.356 (DAVIS): 08/22/96 Ucode Code Generator - UX.10.20.05 (BCK_UX10.DAVIS_9 60521) REV: HP SESD Code High Level Optimizer - UX.10.20.02 (MULTI) [-DHLO_RE LEASE +O3] - 24-Aug-96.15:25 /usr/lib/libc: $Revision: 76.3 $ /opt/ansic/lib/nls/msg/C/cc.cat: HP92453-01 A.10.32.04 HP C Compiler Copyright 1986, Hewlett-Packard Co. /opt/ansic/lib/nls/msg/C/ucomp.cat.tmp: None /opt/langtools/lbin/cpp.ansi: HP92453-01 A.10.32.04 HP C Preprocessor (ANSI) /usr/lib/libc: $Revision: 76.3 $ /opt/langtools/lbin/cpp: HP92453-01 A.10.32.04 HP C Preprocessor /usr/lib/libc: $Revision: 76.3 $ /opt/langtools/lib/nls/msg/C/cpp.cat: HP92453-01 A.10.32.04 HP C Preprocessor Copyright 19 85, Hewlett-Packard Co. /opt/langtools/lbin/ucomp.tmp: HP-UX UCOMP UX.10.20.114 (DAVIS): 08/22/96 HP-UX SLLIC/OPTIMIZER UX.10.20.356 (DAVIS): 08/22/96 Ucode Code Generator - UX.10.20.05 (BCK_UX10.DAVIS_9 60521) High Level Optimizer - UX.10.20.02 (MULTI) [-DHLO_RE LEASE +O3] - 27-Aug-96.10:31 /opt/langtools/lib/libmp.a.tmp: Parallel Runtime Library - UX.10.20.960329 (DAVIS) [ +O4] - 28-Aug-96.12:07 /opt/langtools/lib/libp/libmp.a.tmp: Parallel Runtime Library - UX.10.20.960329 (DAVIS) [ +O4] - 28-Aug-96.12:07 cksum(1) Output: 529537698 255204 /opt/ansic/bin/cc 2219657488 6639533 /opt/ansic/lbin/ccom 1307126033 83432 /opt/ansic/lib/nls/msg/C/cc.cat 2870421291 267519 /opt/langtools/lbin/cpp.ansi 3632384085 259334 /opt/langtools/lbin/cpp 4200010733 9800 /opt/langtools/lib/nls/msg/C/cpp.cat 2288211346 35513 /opt/langtools/lib/nls/msg/C/ucomp.cat.tmp 343988858 5086477 /opt/langtools/lbin/ucomp.tmp 2570472809 79476 /opt/langtools/lib/libmp.a.tmp 3163357528 88432 /opt/langtools/lib/libp/libmp.a.tmp Patch Conflicts: None Patch Dependencies: s700: 10.01: PHSS_8555 PHSS_7505 s700: 10.10: PHSS_8555 PHSS_7505 s700: 10.20: PHSS_8555 s800: 10.01: PHSS_8555 PHSS_7505 s800: 10.10: PHSS_8555 PHSS_7505 s800: 10.20: PHSS_8555 Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_5743 PHSS_6369 PHSS_7311 Equivalent Patches: None Patch Package Size: 12630 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_8385 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_8385.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_8385.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_8385. 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_8385.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_8385.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None