Release notes for Rational Quantify 5.2 Solaris 2 Contents ======== o Changes from previous releases o Supported systems o Restrictions and known issues New In This Release =================== - Bug fixes and compatibility with OS patches. - This release uses a new FlexLm based licensing. Read the new installation guide before installing the product. Use rs_install instead of pure_install for the installation. New In Quantify 5.1 =================== - Bug fixes and compatibility with OS patches. - Support for 64-bit Solaris 7 applications Please see the Restrictions and Known Issues section for details. - This is the last release to support Solaris 2.4. - Support for Cygnus 98r2 compilers New In Quantify 4.5 =================== - Bug fixes and compatibility with OS patches. - Support for Solaris 7 and Sun Visual Workshop 5.0. - This is the last release to support SunOS 4. Apex Ada and Java are no longer supported. New in Quantify 4.4 =================== - Bug fixes and compatibility with OS patches. - Support for gcc 2.8.1 - New product installation and licensing. Supports FLEXlm based licensing when installed as part of RSDSU. New in Quantify 4.3 =================== - Support for Apex 3.0.0 Ada and C++ on Solaris and HPUX. - bug fixes New in Quantify 4.2 =================== - Support for Java This release supports Java. A modified version of the 1.1.6 version of the Java Virtual Machine is provided which includes the appropriate hooks for capturing performance data that can be analyzed using the Quantify viewer. - bug fixes New in Quantify 3.1.1 ===================== - Updated Japanese translations This release contains improvements in the Japanese translations for the Online Help. New in Quantify 3.1 =================== Miscellaneous ------------- - Support for V8+ object files This release supports EM_SPARC32PLUS object files which contain instructions from the SPARC V9 architecture. - Solaris 2.6 support - Extended compiler support This release supports the Sun Workshop C 4.2 and C++ 4.2 compilers. - Purela query script This release contains a new utility, purela_show, which generates simplified reports from license and usage data maintained in a standard or aggregate PureLA database. New in Quantify 3.0 =================== Support for Solaris 2.5.1 ------------------------- Support has been added for the Solaris 2.5.1 operating system. Pure License Advisor (PureLA) ----------------------------- The "Simple License" advisor, PureLA, offers a number of new features to further simplify the administration of licenses to Rational Software products. See the Installation Guide for more details. Miscellaneous ------------- - Updated -use-machine option When specifying a machine type for which to collect performance data, the clock rate may now also be specified. This avoids the need for Quantify to measure the speed of the machine on which it is currently running. The new syntax is: -use-machine=:Mhz e.g. -use-machine=sparcstation_5:60MHz ================================================== Supported systems ================= Operating system and Hardware ----------------------------- Quantify has been tested with Solaris versions 2.5, 2.5.1, 2.6 and 2.7 on SPARC platforms. Quantify has also been tested on normal and V9 SPARC programs on the UltraSPARC, and supports 64-bit applications. Compilers --------- Quantify has been tested with the following compilers: - Sun Workshop C and C++ 4.2 and 5.0 - SPARCWorks C and C++ versions 3.x - SPARCWorks f77 versions: 3.0 - GNU gcc and g++ versions, through version 2.8.1. - Cygnus GNUpro v.98r2 Threads ------- Quantify supports these threads packages: - The native Solaris libthread library. - The Solaris Pthreads library, libpthread. - Transarc DCE threads. ================================================== Restrictions and Known Issues ============================= Solaris 7 64-bit Development ---------------------------- - Quantify supports both 32-bit and 64-bit application development, and will select the correct mode of operation automatically based on inputs, similar to the linker. The product banner will report the mode of operation during instrumentation and at runtime. However, the "-version" option will always report 32-bit mode; the product version is the same for both modes. - The product home directory has been reorganized to support both 32 and 64-bit development. This organization should be transparent for all 32-bit users and most 64-bit users. However, the location of the Quantify stubs library is different for 64-bit applications: 32-bit API users may continue to link against /_stubs.a: purifyhome/purify_stubs.a quantifyhome/quantify_stubs.a These libraries are now links to the corresponding libraries in the lib32 directory: purifyhome/lib32/purify_stubs.a quantifyhome/lib32/quantify_stubs.a 64-bit API users must link against the equivalent library in the lib64 directory: purifyhome/lib64/purify_stubs.a quantifyhome/lib64/quantify_stubs.a The API header file has not moved and is shared for both development modes. - If you use Quantify -printhomedir to prefix internal product libraries such as libinternal, you must qualify the library path with the appropriate lib sub-directory: `purify -printhomedir`/lib32/solaris2_threads.so `purify -printhomedir`/lib64/solaris2_threads.so Reference to these libraries is rarely necessary. - The "full" code size model is not supported - object files and libraries must be addressable within 32-bits. General ------- - Quantify may not work properly with applications that use Java 1.2 libraries. For details, please see Technical Note #11091 at: http://solutions.rational.com/solutions/ Or contact Rational Technical Support and reference Tech Note #11091. - Archive libraries containing both 32-bit and 64-bit libraries are not supported. All components of a link must be of the same ELF type, and the first archive member is used to determine the link type. - gcc/g++ 2.8.1 is supported, but there are known problems with C++ shared libraries containing gcc/g++ produced objects files containing exception handling code. - This release of Quantify does not support Solaris 2.3. - Because of operating system differences, programs instrumented on one version of Solaris may crash or generate incorrect results if run on a different version of the operating system. - Quantify does not support use of the LD_PRELOAD environment variable. - The SPARCWorks incremental linker, ild, is automatically disabled by Quantify due to an incompatibility with file naming conventions. Data Collection --------------- - Calls to dlclose() that would cause the library to be unmapped can cause qv to incorrectly attribute data to the improper functions. Quantify intercepts calls to dlclose() and prevents libraries from being unmapped. User Interface -------------- - Under most window managers, if a non-explicit focus policy is used, qv can steal the focus from a non-qv window. Click on the window title to reestablish proper focus. - Under twm and tvtwm, Quantify dialogs can be iconified. Once iconified, however, they cannot be de-iconified and qv will no longer respond. You should avoid iconifying dialogs under these window managers. - Under olvwm, dialogs are sometimes placed on the wrong virtual screen unless qv is running on the main virtual screen. This is fixed in the latest version of olvwm. - A bug in the libX library shipped with OpenWindows 5.3 causes X client programs to either hang or crash when the display refuses a connection. This problem is especially notable when displaying to HP-UX displays. This bug effects all X programs (for example, xterm) and is not a Quantify bug. To workaround this problem, ensure that display permission for the client machine has been granted on the X server machine, e.g., % xhost + machineName - There is a bug in version 3.3 of the OpenWindows X server shipped with Tadpole SPARCbooks. The server loses track of a client application's Graphics Contexts (GCs) after the first time the GCs are used. As a result, among other things, buttons and menus of client applications which are supposed to be greyed out don't look greyed out. You can see the same bug in other X applications such as xterm. In xterm, use control-middle-click in the xterm window to pop up the xterm VTOptions pop-up menu. Notice that the menu item "Show Alternate Screen" (close to the bottom of the menu) is greyed out. Now let go of the menu (without selecting anything), and popup the menu again. Note that the same menu item is no longer greyed out. - The Quantify GUI menus and buttons become inaccessible if either the NumLock or ScrollLock key is activated. The workaround is to switch them off, or add the following line(s) to your $HOME/.Xdefaults file. ! Ignore the NumLock and ScrollLock keys on ! mouse buttons Quantify*ignoreModifierMask: Mod3|Mod2 This second workaround will take effect for a new Quantify viewer after you restart your X-session or run a command like 'xrdb -merge $HOME/.Xdefaults'. Compilers --------- - FORTRAN routines with multiple entry points are not supported when compiled -g. - FORTRAN routines with formatted READ or WRITE statements which use the END= or ERR= specifiers are not supported when compiled -g. - The GNU gcc extensions are not tested against Quantify. Most gcc extensions will probably work fine. Known limitations at present include problems with nested functions (e.g.: making a pointer to a nested function and attempting to call through it will not work). Threads ------- - Customers using unsupported threads packages should contact Rational Software technical support (support@rational.com) to ensure compatibility. - When running threaded programs, setting the LD_BIND_NOW environment variable to a non-null value simplifies the resulting callgraph and excludes time spent in the dynamic loader. When LD_BIND_NOW is set, the runtime linker processes all relocation prior to the start of the program. See the "Linker and Libraries Guide" in the AnswerBook.