HP Electronic Support Center
ESC Main What's New Logout About
Name:  Kevin Mullally  User ID:  CA15385
Search ScreenSearch ResultsSearch HistoryDocument DisplayView Hot Docs

Document Text

Title       : s700_800 10.X HP aC++ runtime library components (A.01.18)
Date        : 19981123
Type        : PA
Document ID : PHSS_16585

Patch Name: PHSS_16585

Patch Description: s700_800 10.X HP aC++ runtime library components (A.01.18)

Creation Date: 98/11/11

Post Date:  98/11/23

Hardware Platforms - OS Releases:
	s700: 10.01 10.10 10.20
	s800: 10.01 10.10 10.20

Products: N/A

Filesets:
	OS-Core.CORE-SHLIBS ProgSupport.LANG-MIN ACXX.ACXX
	ACXX-ECOM.ACXX-ECOM

Automatic Reboot?: No

Status: General Release

Critical: No

Path Name: /hp-ux_patches/s700_800/10.X/PHSS_16585

Symptoms:
	PHSS_16585:
	1.  RWCString::readLine(,true) doesn't set failbit

	PHSS_15043:
	1.  eofbit in istrstream not set correctly

	2.  Performance problem with STL vector

	3.  STL <functional> times should be replaced by multiplies
	(<sys/times.h>)

	4.  Linking with libcma causes SIGBUS at runtime

	PHSS_14262:
	1.  Loop in shared library initializer from shl_load and
	threads

	PHSS_13388:
	1.  Excessive memory usage with <list>, long compile times
	too

	2.  iostream library doesn't perform new/delete correctly

	3.  RWTPtrSortedVector::index() doesn't return npos if not
	found

	4.  RWTValHashDictionary must be replaced by RWTValHashMap

	5.  Memory leak with threads and libstd with string

	6.  const_iterator not implemented in container classes

	PHSS_12609:
	1.  string(, string::npos) throws length_error vs.
	out_of_range

	2.  Error 641 on some RW source files if -DRW_NO_STL

	3.  MEMBER TEMPLATES:  <memory> needs more typename fixes

	4.  Excessive memory usage with <list>, long compile times
	too

	5.  tools.h++ headers:  Future error 641 need to be fixed

	PHSS_10113:
	1. This patch is required for the libraries to be compatible
	   with the A.01.04 release of the aC++ compiler.  The
	   results of using incompatible libraries are
	   unpredicatable.

	PHSS_10053:
	Slow startup times for shared libraries that have been
	produced with aCC.

	PHSS_9527:
	1. Bus error in rwtool templates with -z and threads

	2. Error 243 with RW template collection

	PHSS_9201:
	Error messages from dld.sl will show the incorrect location
	of dld.sl. They will show "/usr/lib/dld.sl" instead of
	"/usr/lib/aCC/dld.sl".

	PHSS_8324:
	1. Supply core libraries for aC++ revision A.01.00.

	PHSS_8177:
	Programs compiled with aC++ will not execute
	unless a special dld.sl is present on the system.

Defect Description:
	PHSS_16585:
	1. RWCString::readLine(,true) only sets eofbit upon EOF.
	Using the ios::operator void*() does not return false in
	this case.  The following is never false.
	   while (f.readLine(,true))

	PHSS_15043:
	1.  When using istrstream to read numbers or a character
	string at the end of the buffer, the setting of the eofbit
	is inconsistent.  With numbers eofbit is not set.

	2.  the std library container vector performance problem.
	The execution time for insertion grows more than linearly
	with number of elements, as required by standard.

	3.  me clash for "times" defined in system header
	<sys/times.h> and non-standard conforming C++ standard
	library header <functional>.

	4.  Executables linked with libcma receive SIGBUS before
	reaching main().

	PHSS_14262:
	1.  dld processes initializers with all signals turned off.
	Some applications stop responding to anything but kill -9:
	because dld is in a critical section with all signals turned
	off and static initializer locks a mutex twice causing
	deadlock.

	PHSS_13388:
	1.  aCC consumes much memory for small lists or other small
	containers this does not conform with the ANSI DRAFT.

	2.  The version of libCsup with patch PHSS_12609, A.01.07,
	changed operators new[] and delete[] to no longer call the
	non-array operators.

	This change exposed a problem in libstream where there is a
	mismatch in strstream and streambuf where operator new[] and
	then operator delete is called.

	3.  The function RWTPtrSortedVector<T>::index() doesn't
	return npos as documented, if it is < first element.  It
	returns 0 instead.  If in between elements it returns
	lower_bound.

	4.  The RogueWave documentation for tools.h++ template
	RWTValHashDictionary template should mention that it has
	four parameters.

	5.  Memory leak when using <string> with either threads
	library, libcma or libpthread.  This problem will occur on
	10.20, 10.30 and 11.0 with various combinations of the two
	leaks.

	6.  The following aCC program can't be compiled:

	#include <map>

	int main() { map<int, double> myMap;
	  map<int,double>::const_iterator i = myMap.begin();
	  double a = i->second;
	  // double a = (*i).second is ok!  a = a * 2.5;
	  return 0; }

	$ aCC main.c Error 185:  "main.c", line 11 # Left side
	of '->' requires a pointer to class; type found was
	'class const_iterator'.  double a = i->second

	PHSS_12609:
	1. basic_string(const charT* s, size_type n,
	                const Allocator& a = Allocator());
	Creates a string that contains the first n characters of s.
	s must not be a NULL pointer. The effects of this
	constructor are:
	   An out_of_range exception will be thrown if n == npos.

	2. Some RW sources/includes are giving the 641 (future)
	 error.  Here is an example one:

	Error (future) 641: "/opt/aCC/include/rw/xvdlist.cc", line
	 493 # Undeclared variable 'advance'.
	    Did you forget to make the variable dependent on the
	template type parameters so it would be looked up when
	templates are generated?
	        advance();
	        ^^^^^^^

	3.  MEMBER TEMPLATES:  <memory> needs more typename fixes.

	4.  aCC consumes much memory for small lists or other small
	containers.

	5.  Undeclared variable, future error 641, issued.

	PHSS_10113:
	1. A.01.04 compatability

	PHSS_10053:
	The problem is that the dynamic loader is repeatedly
	applying relocations in a shared library, that should only
	be applied once.  This leads to a noticable performance
	degradation.

	PHSS_9527:
	1. The library was destructing an object before it had
	been initialized when using threads.

	2. A class that inherits from a Roguewave collection
	template classes could not call certain functions defined in
	the base class.

	PHSS_9201:
	The appropriate string in the source had not been updated
	when the special dld.sl was created.

	PHSS_8324:
	1.  The core libraries for aC++ A.01.00 are not included in
	the HP-UX core releases.

	PHSS_8177:
	aC++ requires a different linker and dld.sl because of
	special fixups that are needed to support the C++ language.

SR:
	4701333732 4701343582 5003339796 5003387357 4701363366
	1653217448 4701374090 5003367938 5003381178 5003392829
	1653238188 4701340323 1653252395 1653258897 4701386771
	4701390013 5003438820

Patch Files:
	/usr/lib/libCsup.1
	/usr/lib/libCsup.a
	/usr/lib/librwtool.1
	/usr/lib/librwtool.a
	/usr/lib/libstd.1
	/usr/lib/libstd.a
	/usr/lib/libstream.1
	/usr/lib/libstream.a
	/usr/lib/aCC/dld.sl

what(1) Output:
	/usr/lib/libCsup.1:
		HP aC++ B3910B A.01.18 Language Support Library
	/usr/lib/libCsup.a:
		HP aC++ B3910B A.01.18 Language Support Library
	/usr/lib/librwtool.1:
		HP aC++ B3910B A.01.18 Tools.h++ Library (RogueWave
			Version 7.0.6)
	/usr/lib/librwtool.a:
		HP aC++ B3910B A.01.18 Tools.h++ Library (RogueWave
			Version 7.0.6)
	/usr/lib/libstd.1:
		HP aC++ B3910B A.01.18 C++ Standard Library (RogueWa
			ve Version 1.2.1)
	/usr/lib/libstd.a:
		HP aC++ B3910B A.01.18 C++ Standard Library (RogueWa
			ve Version 1.2.1)
	/usr/lib/libstream.1:
		HP aC++ B3910B A.01.18 Classic Iostream Library
	/usr/lib/libstream.a:
		HP aC++ B3910B A.01.18 Classic Iostream Library
	/usr/lib/aCC/dld.sl:
		SMART_BIND
		92453-07 dld dld dld.sl B.10.30 980611

cksum(1) Output:
	2680356455 286720 /usr/lib/libCsup.1
	3368790574 408390 /usr/lib/libCsup.a
	1257745229 1586596 /usr/lib/librwtool.1
	1794204485 1782028 /usr/lib/librwtool.a
	2079478480 389120 /usr/lib/libstd.1
	2657036112 614088 /usr/lib/libstd.a
	3670210182 225280 /usr/lib/libstream.1
	4092052036 222882 /usr/lib/libstream.a
	121550994 110592 /usr/lib/aCC/dld.sl

Patch Conflicts: None

Patch Dependencies:
	s700: 10.10: PHSS_15391
	s700: 10.20: PHSS_15391
	s800: 10.10: PHSS_15391
	s800: 10.20: PHSS_15391

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHSS_8177 PHSS_8324 PHSS_9201 PHSS_9527 PHSS_10053 PHSS_10113
	PHSS_12609 PHSS_13388 PHSS_14262 PHSS_15043

Equivalent Patches:
	PHSS_16587:
	s700: 11.00
	s800: 11.00

Patch Package Size: 5450 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_16585

	5a. For a standalone system, run swinstall to install the
	    patch:

		swinstall -x autoreboot=true -x match_target=true \
			-s /tmp/PHSS_16585.depot

	5b. For a homogeneous NFS Diskless cluster run swcluster on the
	    server to install the patch on the server and the clients:

		swcluster -i -b

	    This will invoke swcluster in the interactive mode and
	    force all clients to be shut down.

	    WARNING: All cluster clients must be shut down prior to the
		     patch installation.  Installing the patch while the
		     clients are booted is unsupported and can lead to
		     serious problems.

	    The swcluster command will invoke an swinstall session in which
	    you must specify:

		alternate root path  -  default is /export/shared_root/OS_700
		source depot path    -  /tmp/PHSS_16585.depot

	    To complete the installation, select the patch by choosing
	    "Actions -> Match What Target Has" and then "Actions -> Install"
	    from the Menubar.

	5c. For a heterogeneous NFS Diskless cluster:

		- run swinstall on the server as in step 5a to install
		  the patch on the cluster server.

		- run swcluster on the server as in step 5b to install
		  the patch on the cluster clients.

	By default swinstall will archive the original software in
	/var/adm/sw/patch/PHSS_16585.  If you do not wish to retain a
	copy of the original software, you can create an empty file
	named /var/adm/sw/patch/PATCH_NOSAVE.

	Warning: If this file exists when a patch is installed, the
	         patch cannot be deinstalled.  Please be careful
		 when using this feature.

	It is recommended that you move the PHSS_16585.text file to
	/var/adm/sw/patch for future reference.

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHSS_16585.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions: None

Search ScreenSearch ResultsSearch HistoryDocument DisplayView Hot Docs

HP Electronic Support Center

(c) Copyright 1996-1998 Hewlett-Packard Company.
Terms and Conditions/Software License Terms.