Patch Name: PHSS_28880 Patch Description: s700_800 11.11 HP aC++ -AA runtime libraries (aCC A.03.50) Creation Date: 03/08/31 Post Date: 03/10/27 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP ProgSupport.LANG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP ProgSupport.LANG-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHSS_28880: MEMORY_LEAK ABORT Category Tags: defect_repair enhancement general_release critical halts_system memory_leak manual_dependencies Path Name: /hp-ux_patches/s700_800/11.X/PHSS_28880 Symptoms: PHSS_28880: 1. JAGaa86607 : Must not unload library at exit time or thru atexit(3) 2. JAGae67648 : P58 C22226 various locale categories destructors must be protected 3. JAGae71029 : Signal 10 std::list doesn't handle bad_alloc 4. JAGae47091 : -AA inplace_merge ignores comparison functor 5. JAGae64830 : valarray::operator[](slice) const fails to work properly 6. JAGae53511 : P58 P23417 bitset::count fails with -AP 7. JAGae54651 : ofstream in append mode very slow on NFS mounted file system 8. JAGae42657 : Wrong destructor order of shared library's objects, after unload 9. JAGae85729 : Memory leak in ios_bas::imbue 10.JAGae70124 : Various runtime aborts using -AA strstream with threads PHSS_26946: 1. JAGae08320: -AA iostream I/O 2x slower than -AP. 2. JAGae19340: string uses reference counting with null strings, mutex contention 3. JAGae42657: Wrong destructor order of shared library's objects, after unload. 4. JAGaa86607: Must not unload library at exit time or thru atexit(3). 5. New roguewave tools library librwtool_v2 - version 7.1.1 -, which is usable with ANSI C++ standard library libstd_v2 (i.e., option -AA and -lrwtool_v2 can be used together). PHSS_24638: 1. JAGad81901: Wrong result when using RWCRExpr/RWCString. 2. JAGad74141: Small Block Allocator for malloc The aC++ runtime now automatically enables malloc's Small Block Allocator (SBA) after this aCC runtime patch and libc patch appropriate for your system are installed. This improves heap performance. You can disable this new feature by using the following: export _M_SBA_OPTS=0:0:0 3. JAGad52502: ABI: HPT shlb007 shared lib dtors done in wrong order on unload. 4. JAGaa73885: aC++ range table entries have wrong offset for parms +DA2.0W, > 8 parms. PHSS_22898: 1. JAGad30801: RWZoneSimple doesn't provide a valid DST rule for Europe 2. JAGad30499: istrstream::seekg moves twice as far. problem in 64 bit mode where array size is still 32 bit. 3. JAGad25172: workaround bug in libcl by testing if offset fits in 32 bits. 4. JAGad36658: Inconsistent definition of mbstate_t, requires roll for all customers using libstd_v2 to establish compatibility with the HPUX 11.11 runtime. 5. JAGad40631: Missing stubs in libstd would cause unsats. Allow +I_main. 6. JAGad30844: -AA istrstream::seekg() moves twice as far as specified. 7. JAGad41042: basic_*fstream::is_open shouldn't be a const member function. Defect Description: PHSS_28880: 1. JAGaa86607 : Must not unload library at exit time or thru atexit(3) 2. JAGae67648 : P58 C22226 various locale categories destructors must be protected 3. JAGae71029 : Signal 10 std::list doesn't handle bad_alloc 4. JAGae47091 : -AA inplace_merge ignores comparison functor 5. JAGae64830 : valarray::operator[](slice) const fails to work properly 6. JAGae53511 : P58 P23417 bitset::count fails with -AP 7. JAGae54651 : ofstream in append mode very slow on NFS mounted file system 8. JAGae42657 : Wrong destructor order of shared library's objects, after unload 9. JAGae85729 : Memory leak in ios_bas::imbue 10.JAGae70124 : Various runtime aborts using -AA strstream with threads PHSS_26946: 1. JAGae08320: -AA iostream I/O 2x slower than -AP. 2. JAGae19340: string uses reference counting with null strings, mutex contention 3. JAGae42657: Wrong destructor order of shared library's objects, after unload. 4. JAGaa86607: Must not unload library at exit time or thru atexit(3). 5. New roguewave tools library librwtool_v2 - version 7.1.1 -, which is usable with ANSI C++ standard library libstd_v2 (i.e., option -AA and -lrwtool_v2 can be used together). PHSS_24638: 1. JAGad81901: Wrong result when using RWCRExpr/RWCString. 2. JAGad74141: Small Block Allocator for malloc The aC++ runtime now automatically enables malloc's Small Block Allocator (SBA) after this aCC runtime patch and libc patch appropriate for your system are installed. This improves heap performance. You can disable this new feature by using the following: export _M_SBA_OPTS=0:0:0 3. JAGad52502: ABI: HPT shlb007 shared lib dtors done in wrong order on unload. 4. JAGaa73885: aC++ range table entries have wrong offset for parms +DA2.0W, > 8 parms. PHSS_22898: 1. JAGad30801: RWZoneSimple doesn't provide a valid DST rule for Europe 2. JAGad30499: istrstream::seekg moves twice as far. problem in 64 bit mode where array size is still 32 bit. 3. JAGad25172: workaround bug in libcl by testing if offset fits in 32 bits. 4. JAGad36658: Inconsistent definition of mbstate_t, requires roll for all customers using libstd_v2 to establish compatibility with the HPUX 11.11 runtime. 5. JAGad40631: Missing stubs in libstd would cause unsats. Allow +I_main. 6. JAGad30844: -AA istrstream::seekg() moves twice as far as specified. 7. JAGad41042: basic_*fstream::is_open shouldn't be a const member function. Enhancement: No (superseded patches contained enhancements) PHSS_26946: This patch ships a new roguewave tools library librwtool_v2. This library can be used with the ANSI C++ standard library libstd_v2 (i.e., option -AA and -lrwtool_v2 can be used together). SR: 1653217448 4701374090 5003367938 5003381178 5003392829 1653238188 1653252395 1653258897 4701386771 4701390013 5003438820 8606161485 8606161183 8606155860 8606167372 8606171367 8606161528 8606171778 8606212714 8606174182 8606212714 8606183289 1653233874 1653308122 8606100340 8606204965 5003430793 8606239909 8606255011 8606278599 8606304304 8606307994 8606283136 8606301385 8606289581 8606290808 8606278599 8606323264 8606307089 Patch Files: OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/lib/libCsup.1 /usr/lib/libCsup.2 /usr/lib/libCsup.sl /usr/lib/libCsup_v2.1 /usr/lib/libCsup_v2.2 /usr/lib/libCsup_v2.sl /usr/lib/librwtool.1 /usr/lib/librwtool.2 /usr/lib/librwtool.sl /usr/lib/librwtool_v2.2 /usr/lib/librwtool_v2.sl /usr/lib/libstd.1 /usr/lib/libstd.2 /usr/lib/libstd.sl /usr/lib/libstd_v2.1 /usr/lib/libstd_v2.2 /usr/lib/libstd_v2.sl /usr/lib/libstream.1 /usr/lib/libstream.2 /usr/lib/libstream.sl ProgSupport.LANG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/lib/libCsup.a /usr/lib/libCsup_v2.a /usr/lib/librwtool.a /usr/lib/librwtool_v2.a /usr/lib/libstd.a /usr/lib/libstd_v2.a /usr/lib/libstream.a OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/lib/pa20_64/libCsup.2 /usr/lib/pa20_64/libCsup.sl /usr/lib/pa20_64/libCsup_v2.2 /usr/lib/pa20_64/libCsup_v2.sl /usr/lib/pa20_64/librwtool.2 /usr/lib/pa20_64/librwtool.sl /usr/lib/pa20_64/librwtool_v2.2 /usr/lib/pa20_64/librwtool_v2.sl /usr/lib/pa20_64/libstd.2 /usr/lib/pa20_64/libstd.sl /usr/lib/pa20_64/libstd_v2.2 /usr/lib/pa20_64/libstd_v2.sl /usr/lib/pa20_64/libstream.2 /usr/lib/pa20_64/libstream.sl ProgSupport.LANG-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /usr/lib/pa20_64/libCsup.a /usr/lib/pa20_64/libCsup_v2.a /usr/lib/pa20_64/librwtool.a /usr/lib/pa20_64/librwtool_v2.a /usr/lib/pa20_64/libstd.a /usr/lib/pa20_64/libstd_v2.a /usr/lib/pa20_64/libstream.a what(1) Output: OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/lib/libCsup.1: HP aC++ B3910B A.01.30 Language Support Library /usr/lib/libCsup.2: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/libCsup.sl: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/libCsup_v2.1: HP aC++ B3910B A.01.30 Language Support Library /usr/lib/libCsup_v2.2: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/libCsup_v2.sl: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/librwtool.1: HP aC++ B3910B A.01.30 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/librwtool.2: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/librwtool.sl: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/librwtool_v2.2: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.1.1) /usr/lib/librwtool_v2.sl: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.1.1) /usr/lib/libstd.1: HP aC++ B3910B A.01.30 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/libstd.2: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/libstd.sl: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/libstd_v2.1: HP aC++ B3910B A.01.30 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/libstd_v2.2: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/libstd_v2.sl: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/libstream.1: HP aC++ B3910B A.01.30 Classic Iostream Library /usr/lib/libstream.2: HP aC++ B3910B A.03.50 Classic Iostream Library /usr/lib/libstream.sl: HP aC++ B3910B A.03.50 Classic Iostream Library ProgSupport.LANG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/lib/libCsup.a: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/libCsup_v2.a: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/librwtool.a: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/librwtool_v2.a: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.1.1) /usr/lib/libstd.a: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/libstd_v2.a: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/libstream.a: HP aC++ B3910B A.03.50 Classic Iostream Library OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/lib/pa20_64/libCsup.2: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/pa20_64/libCsup.sl: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/pa20_64/libCsup_v2.2: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/pa20_64/libCsup_v2.sl: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/pa20_64/librwtool.2: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/pa20_64/librwtool.sl: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/pa20_64/librwtool_v2.2: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.1.1) /usr/lib/pa20_64/librwtool_v2.sl: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.1.1) /usr/lib/pa20_64/libstd.2: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/pa20_64/libstd.sl: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/pa20_64/libstd_v2.2: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/pa20_64/libstd_v2.sl: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/pa20_64/libstream.2: HP aC++ B3910B A.03.50 Classic Iostream Library /usr/lib/pa20_64/libstream.sl: HP aC++ B3910B A.03.50 Classic Iostream Library ProgSupport.LANG-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /usr/lib/pa20_64/libCsup.a: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/pa20_64/libCsup_v2.a: HP aC++ B3910B A.03.50 Language Support Library /usr/lib/pa20_64/librwtool.a: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.0.6) /usr/lib/pa20_64/librwtool_v2.a: HP aC++ B3910B A.03.50 Tools.h++ Library (RogueWave Version 7.1.1) /usr/lib/pa20_64/libstd.a: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 1.2.1) /usr/lib/pa20_64/libstd_v2.a: HP aC++ B3910B A.03.50 C++ Standard Library (RogueWa ve Version 2.02.01) /usr/lib/pa20_64/libstream.a: HP aC++ B3910B A.03.50 Classic Iostream Library cksum(1) Output: OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 2451847742 188416 /usr/lib/libCsup.1 1421934298 208896 /usr/lib/libCsup.2 1421934298 208896 /usr/lib/libCsup.sl 1692429042 188416 /usr/lib/libCsup_v2.1 2965400475 217088 /usr/lib/libCsup_v2.2 2965400475 217088 /usr/lib/libCsup_v2.sl 2561257450 1388544 /usr/lib/librwtool.1 854132896 1437696 /usr/lib/librwtool.2 854132896 1437696 /usr/lib/librwtool.sl 1201061945 2859008 /usr/lib/librwtool_v2.2 1201061945 2859008 /usr/lib/librwtool_v2.sl 4103311869 397312 /usr/lib/libstd.1 602330871 409600 /usr/lib/libstd.2 602330871 409600 /usr/lib/libstd.sl 505721471 2199552 /usr/lib/libstd_v2.1 2112600892 2834432 /usr/lib/libstd_v2.2 2112600892 2834432 /usr/lib/libstd_v2.sl 1421596013 233472 /usr/lib/libstream.1 1117957335 258048 /usr/lib/libstream.2 1117957335 258048 /usr/lib/libstream.sl ProgSupport.LANG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 2829469867 346682 /usr/lib/libCsup.a 1440608880 356638 /usr/lib/libCsup_v2.a 865120215 1441148 /usr/lib/librwtool.a 1149846558 9644084 /usr/lib/librwtool_v2.a 2392253201 623656 /usr/lib/libstd.a 3539209453 4643128 /usr/lib/libstd_v2.a 986808796 233122 /usr/lib/libstream.a OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 1723717240 199864 /usr/lib/pa20_64/libCsup.2 1723717240 199864 /usr/lib/pa20_64/libCsup.sl 2219715477 201360 /usr/lib/pa20_64/libCsup_v2.2 2219715477 201360 /usr/lib/pa20_64/libCsup_v2.sl 3513779711 1411480 /usr/lib/pa20_64/librwtool.2 3513779711 1411480 /usr/lib/pa20_64/librwtool.sl 4195614151 2920304 /usr/lib/pa20_64/librwtool_v2.2 4195614151 2920304 /usr/lib/pa20_64/librwtool_v2.sl 3285824457 405688 /usr/lib/pa20_64/libstd.2 3285824457 405688 /usr/lib/pa20_64/libstd.sl 1956361460 2841104 /usr/lib/pa20_64/libstd_v2.2 1956361460 2841104 /usr/lib/pa20_64/libstd_v2.sl 4061758296 252632 /usr/lib/pa20_64/libstream.2 4061758296 252632 /usr/lib/pa20_64/libstream.sl ProgSupport.LANG-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: 11807254 526222 /usr/lib/pa20_64/libCsup.a 2760565605 534316 /usr/lib/pa20_64/libCsup_v2.a 1622917358 2519310 /usr/lib/pa20_64/librwtool.a 797493134 13978048 /usr/lib/pa20_64/librwtool_v2.a 3246981055 934832 /usr/lib/pa20_64/libstd.a 2985974300 6861300 /usr/lib/pa20_64/libstd_v2.a 2254288958 373902 /usr/lib/pa20_64/libstream.a Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: Every development site (on A.03.25 through A.03.27) that installs this patch MUST also install the header file patch PHSS_22868. All aC++ applications built with the -AA option on versions A.03.25 through A.03.27 must then be recompiled and relinked. If this is not done, link time or run time incompatibilities may result. See CR JAGad36658 above. Supersedes: PHSS_22898 PHSS_24638 PHSS_26946 Equivalent Patches: PHSS_26945: s700: 11.00 11.10 s800: 11.00 11.10 Patch Package Size: 14130 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_28880 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_28880.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_28880. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false 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_28880.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_28880.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_28880.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: NOTE TO USERS OF THE NEWLY INTRODUCED ANSI C++ STANDARD LIBRARY VERSION 2.0 (libstd_v2): If you have used aC++ versions A.03.25 through A.03.27 with the -AA option then you must install this patch. If as an ISV you have shipped a library built WITH the -AA option, please contact HP for further information. If as an end user you have received and installed third party libraries or applications built or compiled WITH the -AA option, please contact HP for further information. To determine whether your library/application uses -AA, run the command chatr | grep libstd_v2 If the output of this command is NOT empty, your library/application uses -AA. This libstd_v2 roll is necessary to establish compatibility with the definition of mbstate_t (multibyte support) in the HPUX 11.11 runtime (libc). If you install this patch you MUST recompile and relink any applications built with the -AA option (and be sure your software vendors have done so for their products). Every development site (on A.03.25 through A.03.27) that installs this patch MUST also install the header file patch PHSS_22868. All aC++ applications built with the -AA option on versions A.03.25 through A.03.27 must then be recompiled and relinked. If this is not done, link time or run time incompatibilities may result. See CR JAGad36658 above.