Release notes for Quantify 5.3 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.

  - Support for Solaris 8, 32-bit and 64-bit 
    development.

  - Support for Forte 6 (compiler version 5.1) 
    compiler. The product has not been tested 
    with Forte 6 Update 1.

New in Quantify 5.2
===================
  - 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, 2.7 and 2.8 
    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:
    - Forte 6 (compiler version 5.1)
    - 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 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.

  - Starting in version 5.1, 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, purify.h, 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:

    `quantify -printhomedir`/lib32/solaris2_threads.so
    `quantify -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.