Patch-ID# 108435-12 Keywords: libC.so.5 libCrun.so.1 libdemangle.so.1 Synopsis: 64-Bit Shared library patch for C++ Note: 108434-12 is the corresponding 32-bit patch Date: May/23/2003 Install Requirements: None Solaris Release: 8 SunOS Release: 5.8 Unbundled Product: libC Unbundled Release: 4.0.1 NOTE: This patch also apply to libC 4.1, 4.2, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5 Xref: Topic: Relevant Architectures: sparc BugId's fixed with this patch: 4199587 4205763 4271402 4285270 4302954 4318566 4338406 4347621 4351467 4353299 4358182 4368974 4375346 4380359 4381048 4383064 4384942 4386796 4388216 4391089 4398422 4409167 4413674 4418755 4423447 4432338 4448928 4462258 4466915 4467478 4485163 4486320 4493832 4496576 4496848 4518910 4520126 4522461 4528281 4531069 4589227 4614582 4618537 4619891 4624113 4627871 4641533 4660290 4668167 4679619 4680478 4686364 4698028 4699194 4704604 4708982 4709155 4710815 4745600 4747931 4749398 4749628 4750936 4756106 4794587 4797953 4806782 4820555 4851358 Changes incorporated in this version: 4851358 Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: 108434-12 or greater Obsoleted by: Files included with this patch: /usr/lib/sparcv9/libCrun.so.1 /usr/lib/sparcv9/libCstd.so.1 /usr/lib/sparcv9/libdemangle.so.1 /usr/lib/sparcv9/libiostream.so.1 Problem Description: 4851358 C++ 5.0 binaries fail after installing 108434-11 (from 108435-11) 4794587 ostream "internal" padding incorrect for hex 4797953 c++: -mt option causes not to catch std::bad_alloc exception. 4806782 -xport64 generates warnings from standard headers 4820555 error in InterlockedDecrement() (from 108435-10) 4302954 Memory leak in stream classes 4698028 RTC reports rua error for program using deque 4699194 reverse_iterator<...>::self should be public 4704604 assignments to long long do not return error 4708982 Patched version of libCstd.so.1 is compiled for sparcv8plus 4745600 problem with rdbuff being used to redirect stderror 4747931 deriving from std::strstreambuf yields core dump 4749398 low performance of the standard template class string 4749628 runtime performance insertion into ostrstream is slow 4750936 basic_string assumes int converts to char_type 4756106 problem in std library with customer allocator (from 108435-09) 4709155 MT program crashes in insertion operator 4710815 nm(1) crashes trying to demangle C++ symbol names (from 108435-08) 4660290 ostringstream produces incorrect results with C++ Compiler 5.3 4668167 ofstream on dup'd fd doesn't produce output 4679619 cast fails when program is compiled using Forte 6u2 4680478 C++ compiler generates Warning: The else-branch should return a Value 4686364 ofstream::flush() stopped working (from 108435-07) 4618537 STL vector::resize Read from unallocated nobugid fix for mt string class performance nobugid fix initialization of libCstd (from 108435-06) 4271402 typeid() leaks memory 4518910 need to add FD exp message for serial number expiration 4522461 g++ compiled code runs faster than f6u1 & 2 4528281 ofstream destructor closes file descriptor it did not open 4589227 phys. read() is suboptimal in ifstream::getline()/libC 4619891 __rwstd::InterlockedIncrement() broken in generic libCstd.a 4624113 C++ 5.3: std::list::splice memory management bug 4627871 libCstd: code using unique_copy doesn't compile 4641533 missing exported functions in libCstd.so nobugid Removed references to __threaded (from 108435-05) 4520126 C++ 5.3 standard string class causes memory leak 4531069 Memory leak in += operator in std:string 4614582 basic_ios::operator=() is invalid (from 108435-04) 4199587 stdlib headers generate warnings with +w 4391089 Compiler features available in G++, MS VC++, and HP-UX aCC but not in F6U1 4462258 performance problem with ostringstream 4467478 Fixed the "Could not find source" warnings in 4485163 standard iostreams seekg() clears eof bit 4486320 stable_sort() leaks memory 4493832 Forte 6 compiled code with nested dlopen/dlclose fails unexpectedly on 2.6 & 2.7 4496576 missing extern C++ overloads of bsearch() and qsort() 4496848 lib/cpu/sparcv8plus/libCstd.so.1 needs $ORIGIN/../.. in RPATH nobugid Fixes to (from 108435-03) 4423447 improvements in implementation 4466915 istream::read() reads the first input character twice (from 108435-02) 4205763 abi1: c++/dbx throw object type not found 4285270 C++ 5.0, EOF not recognized when whitespace skipping is enabled 4338406 C++: Test gives incorrect results when compiled with -xO4 4347621 I/O is slow in standard iostreams 4351467 Non-member bitset operators are giving illegal operation error in STL. 4353299 Unable to output 'wchar_t' into 'wfstream' 4358182 C++ code compiled w/ -PIC fails to link due to libCstd.a compiled w/ -K pic 4368974 string assignment after update gives wrong answer 4375346 c++ std. library performs poorly for multi-threaded apps. with large no. of stri 4380359 STL std::find algorithm requires != operator 4381048 mutual exclusion not enforced in get_thr_data() 4383064 STL vector::resize returns uninitialized memory 4384942 string::npos missing from libCstd 4386796 STL vectors have high memory overhead 4388216 libiostream.a in 5.2 Compiler needs to be compiled with -KPIC or without -Kpic 4398422 Classic iostream: new[] deleted with delete instead of delete[] 4409167 CC 5.2 performance is poor compared to CC 4.2 4413674 JNI has problems with libCstd 4418755 Changes in mapping of ex_throw/__exdbg* entries breaks debugging of exceptions 4432338 /opt/SUNWspro/WS6/include/CC/Cstd/stdcomp.h conflicts with tools.h++&threads.h++ nobugid Fixed problem with list<>::merge() nobugid Add versions of libCstd.so.1 and libiostream.so.1 to package 4448928 multi-thread test program failed for OS 5.8 and 5.9 only (from 108435-01) 4318566 cpu2000 fails on 581 Patch Installation Instructions: -------------------------------- For Solaris 8 release, refer to the man pages for instructions on using 'patchadd' and 'patchrm' scripts provided with Solaris. Any other special or non-generic installation instructions should be described below as special instructions. The following example installs a patch to a standalone machine: example# patchadd /var/spool/patch/104945-02 The following example removes a patch from a standalone system: example# patchrm 104945-02 For additional examples please see the appropriate man pages. Special Install Instructions: ----------------------------- If you are compiling, linking or running executable images that have been compiled using -xarch=v9 or -xarch=v9a, it is strongly recommend that you also install the most recent version of patch 108435, the corresponding sparcv9-S2 patch to the one for 32-bit Solaris 8 (108434) . README -- Last modified date: Friday, May 23, 2003