Patch Name: PHSS_20206 Patch Description: s700_800 11.X Fortran90 B.11.01.08 cumulative patch Creation Date: 99/11/12 Post Date: 99/12/06 Hardware Platforms - OS Releases: s700: 11.00 11.10 s800: 11.00 11.10 Products: FORTRAN90 B.11.01.08 Filesets: FORTRAN90.FORT90-PRG,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64,v=HP FORTRAN90.FORT90-MAN,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64,v=HP FORTRAN90.F90-JPN-E-MAN,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64,v=HP FORTRAN90.F90-JPN-S-MAN,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHSS_20206 Symptoms: PHSS_20206: 01)JAGaa68030: Fix incorrect if/else in mmt.C which causes wrong answers 02)JAGaa68131: Move last value tracking into LOOP_TM_WHILE from LOOP_TM_LOOP 03)JAGaa63597: Merge in change from C for JAGaa68156 04)JAGaa68372: Improve reuse phase's Will_Fit_In_Cache analysis 05)JAGaa68375: Fix global serialization bug in MMT 06)JAGab16624: Fix assert during loop_recognition in wide mode 07)JAGab21232: Use PID to find call-site temps during inlining 08)JAGab50666: Fix register allocation for +autodbl4 code 09)JAGab63593: Pick up mempro.C fix from C group 10)JAGab68687: Fix infinite loop in data structure 11)JAGab70783: Allow uppercase shared memory key 12)JAGab70785: Improve F90 performance by re-using malloc'd areas 13)JAGab73992: Fix several prefetching problems 14)JAGab74031: Fix several prefetching problems 16)Fixed spelling error in f90 +usage 17)JAGab78759: Increased capacity of option -I table from 2000 bytes to 16000 bytes PHSS_20043: 15)Update f90.1/fid.1 Japanese manpage translations Defect Description: PHSS_20206: 01)JAGaa68030: Wrong answers generated at +O3 in the presence of inlining with a routine argument only being used in the inlined routine in an assignment. Resolution: Recompile with new compiler. 02)JAGaa68131: Wrong answers occur in a triple loop nest where the innermost loop is a zero trip while loop and the outer two loops are interchanged. Resolution: Recompile with new compiler. 03)JAGab63597: Inlining of a register variable can cause the compiler to assert. Resolution: Not an issue for fortran users. 04)JAGaa68372: HLO analyzes the "memory footprint" of a loop, to see if all the data accessed within the loop will fit in cache or not. In-cache loops are then optimized slightly differently than out-of-cache loops (interchange heuristic is different, no loop blocking occurs). In some cases, loops that were clearly in-cache were being thought to be out-of-cache, causing suboptimal optimization. This error was triggered by array references with one of the subscripts being a constant. Resolution: Recompile with new compiler. 05)JAGaa68375: An if statement around an assignment in a loop that is inlined causes the compiler to lose track of the assignment statement which can yield wrong answers. This problem only occurs at +O3 and higher. Resolution: Recompile with new compiler. 06)JAGab16624: Compiler asserts in IR_OPR_LTS() during loop _recognition in wide mode. WORKAROUND: Use '+Onolooptransform' or compile in narrow mode. Resolution: Recompile with new compiler. 07)JAGab21232: Compiler asserts in inl_inline.C after inlining a call that passes a call-site temp. Testcase gets wrong answers at +O3 +Oparallel. Both inlining and parallelization are required to make it fail. Resolution: Recompile with new compiler. 08)JAGab50666: Compiler asserts in the LLO when compilng +O3 +autodbl4. Resolution: Recompile with new compiler. 09)JAGab63593: When the argument to a function is also used to contain the return value of the function, the compiler can lose track of the relation and generate wrong answers in the presence of inlining. Occurs at +O3. Resolution: Recompile with new compiler. 10)JAGab68687: Loop nests with subloops that shared index variables could cause the compiler to go into an infinite loop at +O3. Resolution: Recompile with new compiler. 11)JAGab70783: The directive !$HP$SHARED_COMMON was being passed to the func 'below', for easy parsing, which caused uppercase shared memory key names to be made lowercase when shared memory segments were created. Resolution: Recompile with new compiler. 12)JAGab70785: Improve F90 performance by re-using the last malloc'd areas after it has been freed. Limitations: The maximum size of a re-usable area per thread is 64K + associated overhead. Cautions: The last malloc'd area (per thread) will not be freed until process termination. The saved area control structure may be defined as 'thread-private'. Thread- privacy is dependent upon compile-time switches -D_REENTRANT or -D_POSIX_C_SOURCE. Resolution: Recompile with new compiler. 13)JAGab73992: A prefetch directive using a runtime variable triggered a compiler internal error. Resolution: Recompile with new compiler. 14)JAGab74031: +DA1.1 +Odataprefetch triggered an internal consistency check when the target of an assignment needed to be prefetched. Resolution: Recompile with new compiler. 16)Fixed spelling error in f90 +usage Resolution: Use +usage with new compiler. 17)JAGab78759: Error: Exceeded capacity of option -I table Resolution: Recompile with new compiler. PHSS_20043: 15)Update f90.1/fid.1 Japanese language manpage translations Resolution: Install new man pages. SR: 0000000000 Patch Files: FORTRAN90.FORT90-PRG,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64, v=HP: /opt/fortran90/bin/f90 /opt/fortran90/lbin/f90com32 /opt/fortran90/lbin/f90com64 /opt/fortran90/lib/nls/msg/C/f90.cat /opt/fortran90/lib/nls/msg/C/f90com.cat /opt/fortran90/lib/libblas.a /opt/fortran90/lib/pa2.0/libblas.a /opt/fortran90/lib/libU77.a /opt/fortran90/lib/libp/libU77.a /opt/fortran90/lib/pa20_64/libU77.a /opt/fortran90/lib/libF90.a /opt/fortran90/lib/libF90_parallel.a /opt/fortran90/lib/pa20_64/libF90.a /opt/fortran90/lib/pa20_64/libF90_parallel.a /opt/fortran90/lib/libisamstub.a /opt/fortran90/lib/libisamstubs.a FORTRAN90.FORT90-MAN,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64, v=HP: /opt/fortran90/contrib/man/man1.Z/fid.1 /opt/fortran90/share/man/man3.Z/datey2k.3f /opt/fortran90/share/man/man3.Z/idatey2k.3f FORTRAN90.F90-JPN-E-MAN,fr=B.11.01.08, fa=HP-UX_B.11.00_32/64,v=HP: /opt/fortran90/share/man/ja_JP.eucJP/man1.Z/fsplit.1 /opt/fortran90/share/man/ja_JP.eucJP/man1.Z/f90.1 /opt/fortran90/contrib/man/ja_JP.eucJP/man1.Z/fid.1 FORTRAN90.F90-JPN-S-MAN,fr=B.11.01.08, fa=HP-UX_B.11.00_32/64,v=HP: /opt/fortran90/share/man/ja_JP.SJIS/man1.Z/fsplit.1 /opt/fortran90/share/man/ja_JP.SJIS/man1.Z/f90.1 /opt/fortran90/contrib/man/ja_JP.SJIS/man1.Z/fid.1 what(1) Output: FORTRAN90.FORT90-PRG,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64, v=HP: /opt/fortran90/bin/f90: HP-UX f90 19991018 (181308) B3907DB/B3909DB PHSS_20 206 B.11.01.09 HP F90 v2.3 $ PATCH/11.00:PHCO_95167 Oct 1 1998 13:46:32 $ /opt/fortran90/lbin/f90com32: HP F90 v2.3 HP-UX SLLIC/OPTIMIZER UX.11.01.96 (ROSE): 11/16/98 HP aC++ B3910B X.03.11.10 Classic Iostream Library HP aC++ B3910B X.03.11.10 Language Support Library Ucode Code Generator - UX11.01.04(GS IB4) (PACG - No vember 16, 1998) HP-UX f90com32 19991112 (160658) B3907DB/B3909DB PH SS_20206 B.11.01.09 Copyright (c) 1993-1999 EPCL. All Rights Reserved. EPC Fortran-90 Version FFE13.13(S) HP:230699:144324 Ucode-2 - UCODE2_UX11.01_STABLE(v2.1) (October 19, 1 998) High Level Optimizer - UX.11.00.981019 (UX11.01-CURR ENT) [-DHLO_RELEASE +noeh -z +O2] - 11-Oct-1 999.14:59 $ PATCH/11.00:PHCO_95167 Oct 1 1998 13:46:32 $ /opt/fortran90/lbin/f90com64: HP F90 v2.3 HP-UX SLLIC/OPTIMIZER UX.11.01.96 (ROSE): 11/16/98 HP aC++ B3910B X.03.11.10 Classic Iostream Library HP aC++ B3910B X.03.11.10 Language Support Library Ucode Code Generator - UX11.01.04(GS IB4) (PACG - No vember 16, 1998) HP-UX f90com64 19991112 (170741) B3907DB/B3909DB PH SS_20206 B.11.01.09 Copyright (c) 1993-1999 EPCL. All Rights Reserved. EPC Fortran-90 Version FFE13.13(S) HP:230699:144324 Ucode-2 - UCODE2_UX11.01_STABLE(v2.1) (October 19, 1 998) High Level Optimizer - UX.11.00.981019 (UX11.01-CURR ENT) [-DHLO_RELEASE +noeh -z +O2] - 11-Oct-1 999.14:59 $ PATCH/11.00:PHCO_95167 Oct 1 1998 13:46:32 $ /opt/fortran90/lib/nls/msg/C/f90.cat: None /opt/fortran90/lib/nls/msg/C/f90com.cat: None /opt/fortran90/lib/libblas.a: HP-UX 11.0 pa32 BLAS Library (PA1.1 version) (991112 .1748) /opt/fortran90/lib/pa2.0/libblas.a: HP-UX 11.0 pa32 BLAS Library (PA2.0 version) (991112 .1748) /opt/fortran90/lib/libU77.a: HP-UX libU77.a 19991018 (181336) B3907DB/B3909DB PH SS_20206 B.11.01.09 /opt/fortran90/lib/libp/libU77.a: HP-UX libU77_p.a 19991018 (181351) B3907DB/B3909DB PHSS_20206 B.11.01.09 /opt/fortran90/lib/pa20_64/libU77.a: HP-UX libU77.a 19991018 (181408) B3907DB/B3909DB PH SS_20206 B.11.01.09 /opt/fortran90/lib/libF90.a: None /opt/fortran90/lib/libF90_parallel.a: None /opt/fortran90/lib/pa20_64/libF90.a: None /opt/fortran90/lib/pa20_64/libF90_parallel.a: None /opt/fortran90/lib/libisamstub.a: HP-UX libisamstub.a 19991018 (173316) B3907DB/B3909 DB PHSS_20206 B.11.01.09 /opt/fortran90/lib/libisamstubs.a: HP-UX libisamstub.a 19991018 (173316) B3907DB/B3909 DB PHSS_20206 B.11.01.09 FORTRAN90.FORT90-MAN,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64, v=HP: /opt/fortran90/contrib/man/man1.Z/fid.1: None /opt/fortran90/share/man/man3.Z/datey2k.3f: None /opt/fortran90/share/man/man3.Z/idatey2k.3f: None FORTRAN90.F90-JPN-E-MAN,fr=B.11.01.08, fa=HP-UX_B.11.00_32/64,v=HP: /opt/fortran90/share/man/ja_JP.eucJP/man1.Z/fsplit.1: None /opt/fortran90/share/man/ja_JP.eucJP/man1.Z/f90.1: None /opt/fortran90/contrib/man/ja_JP.eucJP/man1.Z/fid.1: None FORTRAN90.F90-JPN-S-MAN,fr=B.11.01.08, fa=HP-UX_B.11.00_32/64,v=HP: /opt/fortran90/share/man/ja_JP.SJIS/man1.Z/fsplit.1: None /opt/fortran90/share/man/ja_JP.SJIS/man1.Z/f90.1: None /opt/fortran90/contrib/man/ja_JP.SJIS/man1.Z/fid.1: None cksum(1) Output: FORTRAN90.FORT90-PRG,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64, v=HP: 1081369382 626688 /opt/fortran90/bin/f90 969973153 12554240 /opt/fortran90/lbin/f90com32 959666247 12603392 /opt/fortran90/lbin/f90com64 363267132 12468 /opt/fortran90/lib/nls/msg/C/f90.cat 199616790 105743 /opt/fortran90/lib/nls/msg/C/f90com.cat 621882282 1490548 /opt/fortran90/lib/libblas.a 3341398916 1885426 /opt/fortran90/lib/pa2.0/libblas.a 1117477228 132528 /opt/fortran90/lib/libU77.a 939284139 149976 /opt/fortran90/lib/libp/libU77.a 1253671816 275192 /opt/fortran90/lib/pa20_64/libU77.a 2806463489 3834992 /opt/fortran90/lib/libF90.a 4282035320 4305776 /opt/fortran90/lib/libF90_parallel.a 3050129950 5728496 /opt/fortran90/lib/pa20_64/libF90.a 3860633058 6396868 /opt/fortran90/lib/pa20_64/ libF90_parallel.a 2452435725 4792 /opt/fortran90/lib/libisamstub.a 2452435725 4792 /opt/fortran90/lib/libisamstubs.a FORTRAN90.FORT90-MAN,fr=B.11.01.08,fa=HP-UX_B.11.00_32/64, v=HP: 3495888841 2921 /opt/fortran90/contrib/man/man1.Z/fid.1 603528306 721 /opt/fortran90/share/man/man3.Z/datey2k.3f 3944501513 781 /opt/fortran90/share/man/man3.Z/idatey2k.3f FORTRAN90.F90-JPN-E-MAN,fr=B.11.01.08, fa=HP-UX_B.11.00_32/64,v=HP: 1415916253 1747 /opt/fortran90/share/man/ja_JP.eucJP/man1.Z/ fsplit.1 3801186275 21528 /opt/fortran90/share/man/ja_JP.eucJP/ man1.Z/f90.1 1506797708 3356 /opt/fortran90/contrib/man/ja_JP.eucJP/ man1.Z/fid.1 FORTRAN90.F90-JPN-S-MAN,fr=B.11.01.08, fa=HP-UX_B.11.00_32/64,v=HP: 263086636 1751 /opt/fortran90/share/man/ja_JP.SJIS/man1.Z/ fsplit.1 3052519720 21596 /opt/fortran90/share/man/ja_JP.SJIS/man1.Z/ f90.1 473736285 3358 /opt/fortran90/contrib/man/ja_JP.SJIS/man1.Z/ fid.1 Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_20043 Equivalent Patches: None Patch Package Size: 49060 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_20206 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_20206.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_20206. 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_20206.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_20206.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_20206.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_20206.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None