Patch-ID# 106328-21
Keywords: libc.so.5 libcrun.so.1 libcstd.so.1 libiostream.so.1
Synopsis: SunOS 5.7_x86: Shared library patch for C++
Date: May/26/2004


Install Requirements: None                      
                      
Solaris Release: 7_x86

SunOS Release: 5.7_x86

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: This patch available for SPARC as patch 106327 (32-bit) and 106300 (64-bit)

Topic: 

Relevant Architectures: i386

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 4173220 4173766 4180435 4181458 4183435 4187260 4187325 4190043 4191439 4193618 4199587 4199857 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 4825898 4828443 4853946 4856138 4861853 4918858 4919536 4945288 4949404 4951789 4953582 4953639 4965215 4967333 5019613

Changes incorporated in this version: 5019613

Patches accumulated and obsoleted by this patch: 102104-01 102859-02

Patches which conflict with this patch: 

Patches required with this patch: 106951-13 or greater

Obsoleted by: 

Files included with this patch: 

/usr/include/demangle.h
/usr/lib/libC.so.5
/usr/lib/libCrun.so.1
/usr/lib/libCstd.so.1
/usr/lib/libdemangle.so.1
/usr/lib/libiostream.so.1

Problem Description:

5019613 ostrstream writes NULL terminator into char array
 
(from 106328-20)
4945288 Sdtimage crash when opening *.tif and *.gif file.
4967333 internal use of clog/__clog in -lC/-liostream should bind to its own copy
 
(from 106328-19)
4918858 incorrect use of "typename" in standard headers
4919536 libCstd does not provide enough overloads of operator>() for fpos
4949404 numeric_limits doesn't understand 64 bit integers
4951789 incorrect value for numeric_limits::is_modulo
4953582 stringstream::seekg() does not set the current pointer at the designated positio
4953639 istream::getline reads upto n-2 characters where n is buffer size
4965215 cerr hanging if interupted by a signal
 
(from 106328-18)
4825898 C++ runtime performace standard iostream is much slower than classic iostream
4828443 incorrect number of characters outputed after fix of bug 4747931
4853946 static template class variable must be __global when use -xldscope=symbolic
4856138 libCstd string class does not pass correct size to deallocator
4861853 SUNW_1.2 version in libCrun.so.1 on Solaris 2.6 is not found in newer Solaris OE
 
(from 106328-17)
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 106328-16)
4302954 Memory leak in stream classes
4698028 RTC reports rua error for program using deque
4699194 reverse_iterator<...>::self should be public
4704604 C++ 5.0 onwards: cin>> 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 C++ 5.3 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 106328-15)
4709155 MT program crashes in insertion operator
4710815 nm(1) crashes trying to demangle C++ symbol names
 
(from 106328-14)
4618537 STL vector::resize Read from unallocated
nobugid fix for mt string class performance
nobugid fix initialization of libCstd
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 106328-13)
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 106328-12)
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 106328-11)
4199587 fstream.h generates warnings with "+w"
4391089 Compiler features available in G++, MS VC++, and HP-UX aCC but not in F6U1
4462258 Performance issue with Forte6 Update 1 ostringstream
4467478 Floating exception (core dumped)
4485163 C++ 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 <limits>
 
(from 106328-10)
4423447 poor performance of malloc causes application to run 50% slower than egcs
4466915 istream::read() reads the first input character twice
 
(from 106328-09)
4205763 intel: 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 Intel OS 5.8 and 5.9 only
 
(from 106328-08)
 
(from 106328-07)
4318566 cpu2000 fails on 581
 
(from 106328-06)
4123883 Error in Exception Handling
 
(from 106328-05)
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 106328-04)
4181458 std::nothrow not defined in libCrun
4173766 dynamic cast from private base class allowed ABI1
4103581 xmsg incorrect implementation
4173220 intel: abi1: bad throw_pc on a rethrow
4180435 intel: abi2: bad frame pointer in throw notification
4183435 Tagless structs need better demangling.
4187260 Demangler interprets abbreviations wrong.
4187325 demangler crashes on the following name
4191439 missing _ex_dbg functions in libC of C++ 5.0
 
(from 106328-03)
 
(from 106328-02)
 
(from 106328-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 functions add-vector and check_addr take intensive cpu  resources
1193580 Problem with binary data in iostreams
1194462 fstream .open behavior with ios::out worked at 3.0.1, is broken at 4.0.1
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()
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 slow
1173166 C++ dumps core at ostream() call
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 shared-lib dependencies are wrong
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 MT application
1151825 bad slines for try blocks breaks dbx's whocatches
1159647 array destructors are not thread safe in C++4.0.1
1148647 cafe mangled name change invalidates bundled libC.so.4 - patch not sufficient
1147044 Memory leak in cafe's libC
1147577 program using cin/cout in static constructor coredumps with -mt
1146175 mt  programs linked dynamically with libC don't work
1136478 Need a patch for libC.so.4 on s493
 
(from 102859-02)
1265054 Using C++4.1 on 2.5 strstream gets premature EOF.
1264396 Cfront defines detach() as a member of fstreambase but C++ 4.x compiler does not
1254838 demangler bug: dbx dumps core trying to read C++ source file
1259645 ifstream class doesnt 'or' options with ios::in if options specified in ctor
1262573 Problems with the stream class contructor, c++ 4.1
1232632 Incorrect iostream behavior
1232579 ofstream::setbuf() works differently between SC2.0.1 & SC3.0.1 C++
1232305 instance of strstream class using istream get() member function doesnt work
 
(from 102859-01)

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:
-----------------------------

None.

README -- Last modified date:  Wednesday, May 26, 2004

