Patch Name: PHSS_24467 Patch Description: s700_800 11.20 u2comp product patch Creation Date: 01/08/21 Post Date: 01/08/26 Hardware Platforms - OS Releases: s700: 11.20 s800: 11.20 Products: Auxiliary-Opt B.11.20 Filesets: Auxiliary-Opt.LANG-AUX,fr=B.11.20,fa=HP-UX_B.11.20_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair general_release Path Name: /hp-ux_patches/s700_800/11.X/PHSS_24467 Symptoms: PHSS_24467: JAGad72486:Fortran 90 statement: "i = ishft(ishft(not(0),1),-1)" produced incorrect result for a given integer, "i of value 0". JAGaa63128: PPS lost in assembly file JAGad52101: Suboptimal code JAGad65510: LLO segmentation fault JAGad65539: LLO internal failure JAGad55714: Bad code generation JAGad65745: LLO segmentation fault JAGad66465: LLO internal failure JAGad67299: LLO internal failure JAGad67334: Bad code generation JAGad67746: LLO internal failure JAGad67800: LLO segmentation fault JAGad67888: Out of memory JAGad67963: LLO internal failure JAGad68392: LLO segmentation fault JAGad68945: LLO internal failure JAGad69093: LLO internal failure JAGad70670: Bad code generation JAGad70946: Bad code generation JAGad71516: Bad code generation JAGad71517: LLO internal failure JAGad71924: Suboptimal code JAGad73193: Out of memory JAGad76477: Bad code generation JAGad76809: Bad code generation JAGad77151: LLO internal failure JAGad77752: Bad code generation JAGad77810: LLO segmentation fault JAGad78483: LLO internal failure Defect Description: PHSS_24467: JAGad72486:TCG's simplifier tries to constant fold the constant expression but it performs a bad evaluation for the shift left case. Masking is required before performing the shift. To reproduce this defect compile the following Fortran-90 program: program xxx implicit none integer i i = 0 i = ishft(ishft(not(0),1),-1) print *,'i = ',i stop end ./a.out i = -1 -1 is the wrong answer. (e.g. you need the patch) The correct answer is: 2147483647 Another way to determine if the patch is required is to inspect the "what string" output. At the time of the 11.20 release, the "u2comp" did not contain a "what" string associated specifically with it. For this patch and for subsequent releases, the "what" string was added. Thus to determine if the patch is required, enter "what /opt/langtools/lbin/u2comp" If the line "HP u2comp ..." is missing, this patch is required. If the line is present, the patch is not required. SR: 8606182885 8606186510 8606196307 8606196336 8606196542 8606197272 8606198108 8606198143 8606198557 8606198611 8606198699 8606198774 8606199204 8606199759 8606199907 8606201494 8606201772 8606202342 8606202343 8606202750 8606203312 8606204015 8606207302 8606207633 8606207973 8606208564 8606208623 8606209296 Patch Files: Auxiliary-Opt.LANG-AUX,fr=B.11.20,fa=HP-UX_B.11.20_32/64, v=HP: /opt/langtools/lbin/u2comp /opt/langtools/lib/hpux32/libu2comp.so /opt/langtools/lib/nls/msg/C/u2comp.cat what(1) Output: Auxiliary-Opt.LANG-AUX,fr=B.11.20,fa=HP-UX_B.11.20_32/64, v=HP: /opt/langtools/lbin/u2comp: High Level Optimizer - 10-Aug-2001.11:53 92453-07 linker libelf IPF B.12.01 EXPERIMENTAL Ucode-2 Version 2-6 Ucode2 PBO Annotator - Rev 1.1 Ucode2 2.6 - 10-Aug-0 1.11:55 HP-UX TAIL/OPTIMIZER B.11.20.40 : 06/13/01 HP IPF libflowdb - Rev 1.1 date: 21-May-01.18:31 [44 523 398] HP aC++ B3910B A.05.30 IPF Classic Iostream Library HP aC++ B3910B A.05.30 IPF Language Support Library HP-UX/General Millicode UX.12.70 (IA64.ISV3): (MILLI - 02/22/01) /opt/langtools/lib/hpux32/libu2comp.so: None /opt/langtools/lib/nls/msg/C/u2comp.cat: None cksum(1) Output: Auxiliary-Opt.LANG-AUX,fr=B.11.20,fa=HP-UX_B.11.20_32/64, v=HP: 3163903763 50880028 /opt/langtools/lbin/u2comp 3573128358 68700 /opt/langtools/lib/hpux32/libu2comp.so 1783890229 8411 /opt/langtools/lib/nls/msg/C/u2comp.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 49790 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_24467 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_24467.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_24467. 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_24467.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_24467.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_24467.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_24467.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None