Patch-ID# 106300-12 Keywords: libC.so.5 libCrun.so.1 libdemangle.so.1 Synopsis: 64-Bit Shared library patch for C++ Date: Nov/14/2001 Solaris Release: 7 SunOS Release: 5.7 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 Xref: This patch available for x86 as patch 106328 Note: 106327-11 is the corresponding 32-bit patch Topic: Relevant Architectures: sparc BugId's fixed with this patch: 1136478 1146175 1147044 1147577 1148647 1151825 1159647 1160084 1161999 1164100 1165177 1166414 1169658 1171426 1172054 1172379 1173166 1174107 1178171 1180564 1182934 1184772 1187592 1193580 1194462 1195674 1232305 1232579 1232632 1254838 1259645 1262573 1264396 1265054 4005413 4022750 4050876 4058012 4067988 4079317 4082776 4089011 4100612 4100882 4101606 4103581 4121018 4123883 4132688 4173766 4181458 4183435 4187260 4187325 4190043 4191439 4193618 4199587 4199857 4205763 4285270 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 Changes incorporated in this version: 4199587 4391089 4462258 4467478 4485163 4486320 4493832 4496576 4496848 Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: 106327-11 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: 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() leake 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 106300-11) 4423447 improvements in implementation 4466915 istream::read() reads the first input character twice (from 106300-10) 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 106300-09) (from 106300-08) 4318566 cpu2000 fails on 581 (from 106300-07) 4123883 Error in Exception Handling (libC) (from 106300-06) 4058012 segmentation fault in exeption handling (rethrow from unexpected) 4101606 C++ program crashes with exception in constructor when optimized 4132688 C++ 4.2 : destructor not called without -g in a exception 4190043 Test E1166414 times out (x86 only) 4193618 Wide streams (wcout, et al.) not initialized properly 4199857 Missing symbols from libCrun.so.1 (from 106300-05) 4181458 std::nothrow not defined in libCrun 4173766 dynamic cast from private base class incorrectly allowed in compat mode 4103581 xmsg incorrect implementation 4183435 Tagless structs need better demangling 4187260 Demangler interprets abbreviations incorrectly 4187325 Demangler crashes on a long name 4191439 missing _ex_dbg functions in libC (from 106300-04) (from 106300-03) (from 106300-02) (from 106300-01) 4079317 C++ code gives a segmentation fault at ex_throw 4082776 dynamic casting ostream() call problem - runtime core dump 4067988 C++ 4.2 copy constructor problem 4100612 strstream not working correctly within libC.so.5 4100882 2.6 C++ 4.2 runtime library prob with strstream. 4089011 Deadlock in IOStream::InitLock while processing .init sections 4050876 dynamic_cast won't let you cast to derived type 4121018 dbx reporting RUA errors against sync_with_stdio 4005413 throw is not thread safe 4022750 C++ multi-threaded code generates a signal fault in critical section 1174107 The functions add_vector and check_addr are very slow. 1193580 The character '0xff' is not useable as a delimiter in the functions istream::get(ptr, count, delim) and istream::getline(ptr, count, delim) for binary input. 1194462 If a file is opened in output mode, it is not truncated to zero. 1195674 Exception lists for shared object are MT-unsafe. 1187592 the fstream class does not handle pipes (FIFO) properly 1180564 istreams get set to EOF when a SIGALRM happens 1184772 ios formatting fails to print floating point numbers as printf() for precision zero. 1182934 writing to a strstream moves the get (tellg) pointer 1178171 constructors not called for array allocated using (placement) new 1172054 strstream::seekp(val) does not actually change the put pointer 1172379 C++ 4.0 insertion into ostrstream is very slow 1173166 program containing ostream object initialized to 0 coredumps in destructor of ostream. 1160084 When operator new throws an exception, it does not release lock 1161999 Inputting of float values does not work in French/German locales 1165177 streams tellp() method repositions input stream pointer - it shouldn't 1169658 libC.so.5 should have a dependency on libw and libc. 1164100 Destructor for some exceptions not called on exit from handler 1166414 Need to have per thread set_terminate and set_unexpected functions 1171426 Exception stack area not properly freed in multi-thread application 1151825 bad slines for try blocks breaks dbx's whocatches 1159647 construction/destruction of arrays does not work correctly under multiple threads. 1148647 New mangling scheme invalidates libC.so.4; need to increase the version number of the shared library. 1147044 Memory leak in libC. 1147577 Program using cin/cout in static constructors coredumps if compiled with -mt option. 1146175 Multi-threaded programs linked dynamically with libC don't work on SunOS 5.3. 1136478 The library libC.so.4 will be bundled with SunOS 5.4 but is not bundled with SunOS 5.2 and "end-user" cluster of SunOS 5.3. 1265054 When inputting from a strstream, the EOF flag is set prematurely. 1264396 The member function fstreambase::detach() is missing from the library. 1254838 Incorrect demangling for cfront mangled name 1259645 If open mode is specified in constructor call of ifstream, it does not get or'ed with ios::in 1262573 If open mode is specified in constructor call of ofstream, it does not get or'ed with ios::out 1232632 Incorrect behavior of streambuf 1232579 ofstream::setbuf() works differently between C++ 3.0.1 and C++ 4.0.1 1232305 instance of strstream class using istream get() member function doesn't work Patch Installation Instructions: -------------------------------- For Solaris 7 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 64-bit patch 106300 and the corresponding Solaris 7 32-bit patch 106327. README -- Last modified date: Wednesday, November 14, 2001