Patch-ID# 101242-11 Keywords: libC.so.5 Synopsis: libC 4.0.1, 4.1, 4.2: Shared library patch for C++ 4.0.1, 4.1 and 4.2 Date: Feb/12/97 Solaris Release: 2.3, 2.4, 2.5, 2.5.1 SunOS Release: 5.3, 5.4, 5.5, 5.5.1 Unbundled Product: libC Unbundled Release: 4.0.1, 4.1, 4.2 Relevant Architectures: sparc BugId's fixed with this patch: 1136478 1146175 1147577 1147044 1148647 1151825 1159647 1160084 1161999 1165177 1169658 1164100 1166414 1171426 1172054 1172379 1173166 1178171 1187592 1180564 1184772 1182934 1174107 1193580 1194462 1195674 1232632 1232579 1232305 1223494 1259645 1262573 1254838 1264396 1265054 Changes incorporated in this version: 1259645 1262573 1232632 1232579 1232305 1223494 1254838 1264396 1265054 Patches accumulated and obsoleted by this patch: Patch id binaries package Synopsis ======== ======== ======= ======== 101242-01 libC.so.4 SUNWlibC libC.so.4 was missing from /usr/lib in SunOS 5.2 and "end-user" cluster of SunOS 5.3 101242-02 libC.so.4 SUNWlibC mt programs linked dynamically with libC don't work on SunOS 5.3 101242-03 libC.so.4 SUNWlibC memory leak in libC; problem with mt programs. 101242-04 libC.so.5 SUNWlibC changes for new mangling scheme 101242-05 libC.so.5 SUNWlibC 101242-06 libC.so.5 SUNWlibC 101242-07 libC.so.5 SUNWlibC 101242-08 libC.so.5 SUNWlibC 101242-09 libC.so.5 SUNWlibC 101242-10 libC.so.5 SUNWlibC Files included with this patch: /usr/lib/libC.so.5 /usr/include/demangle.h Problem Description: this patch, rev -11 ------------------- 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 doesnt work 1223494 lock is aquired for every call to new even if malloc() succeeds rev -10 ------- 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. rev-09 ------ 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 rev-08 ------ 1178171 constructors not called for array allocated using (placement) new (Added entry point _vector_deletex_ to libC) rev-07 ------ 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. rev -06 ------- 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 rev -05 ------- 1151825 bad slines for try blocks breaks dbx's whocatches 1159647 construction/destruction of arrays does not work correctly under multiple threads. rev-04 ------ 1148647 New mangling scheme invalidates libC.so.4; need to increase the version number of the shared library. rev-03 ------ 1147044 Memory leak in libC. 1147577 Program using cin/cout in static constructors coredumps if compiled with -mt option. rev-02 ------------------ 1146175 Multi-threaded programs linked dynamically with libC don't work on SunOS 5.3. rev-01 ------ 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. (This library is bundled with "all" cluster of SunOS 5.3). This patch is meant for users of SunOS 5.2 and users who have installed the "end-user" cluster of SunOS 5.3. Patch Installation Instructions: -------------------------------- The command 'pkgadd' should be used for installing this patch and 'pkgrm' should be used to remove this patch. Special Install Instructions: ----------------------------- If /usr is not on a server and is not shared by several users, this patch should be installed on the workstation of each user who needs /usr/lib/libC.so.5. Simply installing this patch on a server will not help. If /usr is shared among several users then follow the instructions for installing on a diskless/dataless client. Instructions to install patch ----------------------------- 1. Become super-user. 2. Remove the existing SUNWlibC package if it exists on your machine by typing the command: pkgrm SUNWlibC 3. Apply the patch by typing: pkgadd -d / SUNWlibC where is the directory containing the patch and is the patch number. must be a full path name. Example: # pkgadd -d /tmp/123456-01 SUNWlibC Instructions for installing a patch on a diskless or dataless client -------------------------------------------------------------------- 1. Before applying the patch, the following command must be executed on the server to give the client read-only, root access to the exported /usr file system so that the client can execute the pkgadd command: share -F nfs -o ro,anon=0 /export/exec/Solaris_2.1_sparc.all/usr The command: share -F nfs -o ro,root= \ /export/exec/Solaris_2.1_sparc.all/usr accomplishes the same goal, but only gives root access to the client specified in the command. 2. Login to the client system and become super-user. 3. Continue with step 2 in the "Instructions to install patch using installpatch" section above. Instructions for backing out patch using "backoutpatch" ------------------------------------------------------- 1. Become super-user. 2. Backout patch by typing: pkgrm SUNWlibC