


    SunSoft WorkShop(TM) Release Notes                               Page 1


    1. WorkShop Early Access Release Notes
    
    
    These release notes are intended to provide you with last minute
    information relevant to this WorkShop release.
    
    To send comments:
    Please use the Help--> Send Comments dialog box to send suggestions or
    
    comments about this release to the WorkShop development team.
    
    To report bugs:
    Please use the Bug-Reporting Template on our World Wide Web page:
    
       http://access1.sun.com/contract/beta/devpro/private/bug-reporting/bug-reporting.html
    
    
    Table of Contents
    
    Usage Tracking           An explanation of how we collect information
                             about how you use WorkShop.
    
    Where To Find            Where to find important information,
                             including new features, README's, patches,
                             operating environments, and sample programs.
    
    Software Incompatibility Incompatibilities with other software
                             programs that will impair your ability to use
                             WorkShop.
    
    Known Limitations        Known limitations in the software and any
                             workarounds.
    
    TeamWare Errata          Miscellaneous information not included in the
                             documentation.
    
    Documentation Errata     Errors in the documentation.
    














    WorkShop Early Access Release Notes                          Section 1.





    SunSoft WorkShop(TM) Release Notes                               Page 2


    2. Usage Tracking
    
    
    Usage tracking provides a way for SunSoft Developer Products to collect
    information about how you are using WorkShop. This information is used
    to improve future revisions of the product.
    
    Usage tracking is implemented in the Alpha and Beta releases of
    WorkShop. Usage tracking will not be implemented in the final releases.
    
    Usage tracking collects and can email the following information:
    
      * System and operating system information, such as is obtained with 
        ``uname -a''
    
      * Compiler and lint options used
    
    
    No file names, directory names, or macros are collected. For example,
    if a user issues this command:
    
       cc -DMACRO -L/directory1 -I/directory2 -Xa -O hello.c
    
    Only the following information is collected:
    
       cc -D -L -I -Xa -O
    
    Each time a compiler is invoked, the options used are logged in the
    file /tmp/.UT.program.user. This log file is sent to SunSoft Developer
    Products when the file exceeds 10 Kbytes, is more than 24 hours old, or
    in some cases each time the tool exits.





















    Usage Tracking                                               Section 2.





    SunSoft WorkShop(TM) Release Notes                               Page 3


    3. Where To Find
    
    
    Where to find the following information:
    
    New Features          In the Overview. Choose Help--> Overview.
    
    
    Changes to Features   In the Overview. Choose Help--> Overview.
    
    
    Documentation         See the online help or the man pages.
    
    Patches               In the Patch directory on the CD.
    
    Operating Environment In the Installation Guide.
    
    Recommended Compilers In the Installation Guide.
    
    Registration          From the splash acreen or choose Help--> About.
    
    
    README's              Check the directory
                          /install_dir/SUNWspro/READMEs.
    
    Although these release notes contain the important information from
    these README's, each provides a more detailed view of changes,
    improvements, and limitations of the latest version of the tool:
    
      * TeamWare
    
      * dbx 4.0
    
      * C Compiler 4.2
    
      * C++ Compiler 4.2
    
      * Fortran f77 Compiler 4.2
    
      * Fortran f90 Compiler 4.2
    
      * Pascal Compiler 4.2
    
      * Tools.h++
    
    






    Where To Find                                                Section 3.





    SunSoft WorkShop(TM) Release Notes                               Page 4


    4. Software Incompatibility
    
    
      * WorkShop Incompatibilities
    
    
      * Source Browsing Incompatibilities
    
    
      * dbx Incompatibilities
    
    
      * LockLint Incompatibilities
    
    
      * LoopTool Incompatibilities
    
    
      * Thread Analyzer Incompatibilities
    
    
      * Fortran f77 Compiler Incompatibilities
    
    
      * Fortran f90 Compiler Incompatibilities
    
    
      * C++ Compiler Incompatibilities
    
    
      * Pascal Compiler Incompatibilities
    
    

    4.1. WorkShop Incompatibilities
    
    
    File Descriptor Allocation
    WorkShop will core dump during start-up if you have the following line
    in your /etc/system file:
    
         set rlim_fd_max = 4096
    
    This line increases the available number of file descriptors and is
    sometimes used to make it possible to debug certain executables.
    
    Workaround
    
      * Remove the line, or
    


    WorkShop Incompatibilities                                 Section 4.1.





    SunSoft WorkShop(TM) Release Notes                               Page 5

    
      * Change the number from 4096 to 1024 and reboot
    
    

    4.2. Source Browsing Incompatibilities
    
    
    Database Versions
    WorkShop Source Browsing 4.0 must be used with a database created with
    Compilers 4.2 and newer. You cannot use an older version of sbrowser(1)
    with such a database.
    
    WorkShop Source Browsing 4.0 works with all databases generated from
    Compilers 3.0 and later.
    
    Platform Version 
    The Sparc version of WorkShop is incompatible with the x86 and PowerPC
    versions when Source Browsing. A source browser database generated on
    x86 or PowerPC cannot be used when browsing on a Sparc, and vice versa.
    Intermixing databases from these architectures can cause a segmentation
    violation (SEGV) in the browser.
    
    See Also
    
        Browsing Limitations
    

    4.3. dbx Incompatibilities
    
    
    General
    
      * Using older copies of libC.so.5 or libC.so.4 may cause problems for
        dbx in the area of C++ exceptions. Warning messages about bad stabs
        and unhandled exceptions may result.
    
        Workaround: Link libC statically, remove libC.so.5 and libC.so.4
        from the system prior to linking, or install the latest libC.so.5
        on all systems. Patch numbers: 101242-11 for sparc-S2, 102859-02
        for intel-S2, and 103721-01 for ppc-S2.
    
      * Dbx may fail to find files that are accessed through non-generic
        automounter paths. See the pathmap command for help in dealing with
        these unusual directory mappings.
    
    
    Run Time Checking (RTC)
    
      * Fortran users should compile with the -stackvar option to take full
        advantage of RTC.


    dbx Incompatibilities                                      Section 4.3.





    SunSoft WorkShop(TM) Release Notes                               Page 6

    
        Note: Some programs may not work properly with -stackvar; see the
        Fortran User's Guide and Reference Manual for more information. In
        such cases, users may wish to try the -C compiler option, which
        turns on array subscript checking without RTC.
    
      * RTC and watchpoints (stop modify) should not be used together.
        There is a multiplicative slowdown effect.
    
      * Use of RTC with the Collector is not allowed. The code inserted by
        RTC would seriously perturb any performance measurements.
    
    
    Multithreaded applications
    
      * Runtime Checking of multithreaded programs is supported on Solaris
        2.4 and above. However, for Solaris 2.4, you must install the
        libthread patch 102224-06 for SPARC and 102225-04 for Intel.
    
      * Using watchpoints or stop modify requires the dbxenv variable 
        mt_watchpoints set to On. Use of watchpoints with multithreaded
        applications may cause the program to hang.
    
    
    For More Information
    
        See the dbx README in the directory /install_dir/SUNWspro/READMEs.
    

    4.4. LockLint Incompatibilities
    
    
      * LockLint 2.1 has been tested on Solaris 2.4 only.
    
    
      * LockLint requires SPARCompilers 3.0 or higher.
    
    
      * LockLint users running SunOS 5.4 require the following patches:
    
          * 102224-06 On a SPARC-S2 platform, enables RTC
    
    
          * 102225-04 On an Intel X86 platform, enables RTC
    
    
    
    
    See Also
    
        LockLint Limitations


    LockLint Incompatibilities                                 Section 4.4.





    SunSoft WorkShop(TM) Release Notes                               Page 7

    

    4.5. LoopTool Incompatibilities
    
    
      * LoopTool 2.1 tools are available for SPARC and x86 platforms only.
    
    
      * LoopTool has been tested on Solaris 2.4, 2.5, and 2.5.1 only.
    
    
      * LoopTool requires Sun compilers 3.0.1 or newer.
    
    
      * LoopTool users running SunOS 5.4 require the following patches:
    
          * 102224-06 On a SPARC-S2 platform, enables RTC
    
    
          * 102225-04 On an Intel X86 platform, enables RTC
    
    
    
    
    See Also
    
        LoopTool Limitations
    

    4.6. Thread Analyzer Incompatibilities
    
    
      * Thread Analyzer is available for SPARC, X86 and PowerPC platforms.
    
    
      * Thread Analyzer has been tested on Solaris 2.4 only.
    
    
      * Thread Analyzer requires Sun compilers 3.0.1 or newer.
    
    
      * Thread Analyzer users running SunOS 5.3--the MS1 patch must be
    
        applied to the user's SunOS 5.3 systems. The following patches are
        recommended IN ADDITION to MS1:
    
          * 101489-04 (libthread patches)
    
    
          * 101610-03 (csh patches)
    


    Thread Analyzer Incompatibilities                          Section 4.6.





    SunSoft WorkShop(TM) Release Notes                               Page 8

    
          * 101318-45 (kernel patches including truss fix)
    
    
    
      * Thread Analyzer users running SunOS 5.4 require the following
        patches:
    
          * 102224-06 On a SPARC-S2 platform, enables RTC
    
    
          * 102225-04 On an Intel X86 platform, enables RTC
    
    
    

    4.7. C++ Compiler Incompatibilities
    
    
    Multiple database (-ptr) usage
    When using templates, you should not use multiple -ptr options on the
    command line. Although this should work with the current version of the
    compiler, it is not guaranteed to work in future releases.
    
    Multithreaded applications
    Due to the way the C++ 4.2 runtime library handles certain error
    conditions in multithreaded programs, you must replace the default
    handlers with handlers that terminate the process. Each thread that you
    create, including your ``main'' program executable, must include lines
    of code such as the following:
    
           #include exception.h
           #include stdlib.h
    
           main ()
           {
                   ...
    
                   (void) set_terminate (abort);
                   (void) set_unexpected (abort);
                   ...
    
                   // your code
            }
    
    You do not need to use ``abort'', but if you use any other routine
    (e.g. one that logs an error message) it must exit the process. The
    default handler just exits the thread, which corrupts the process state
    because it doesn't unwind the stack and release resources such as
    locks.
    


    C++ Compiler Incompatibilities                             Section 4.7.





    SunSoft WorkShop(TM) Release Notes                               Page 9

    For More Information
    
        See the C++ README in the directory /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        C++ Compiler Limitations
    

    4.8. Fortran f77 Compiler Incompatibilities
    
    
    Libraries
    If you compile with f77 4.2, you can link only with the 4.2 or 4.0 Sun
    libraries, not with earlier versions. The 4.2 libraries are designed to
    link with programs compiled with f77 3.0.1.
    
    I/O in Mixed f77/f90 Programs
    Fortran 90 and FORTRAN 77 use different I/O libraries. However,
    programs can do I/O to the same unit from both the Fortran 90 and
    FORTRAN 77 parts of the code.
    
    Caveat: I/O compatibility requires that FORTRAN 77 4.2 programs be
    linked with programs compiled with Fortran 90 1.2. FORTRAN 77 4.2 I/O
    is only compatible with FORTRAN 90 1.1 or 1.2, and not f90 1.0.
    
    For More Information
    
        See the Fortran f77 README in the directory
        /install_dir/SUNWspro/READMEs.
    

    4.9. Fortran f90 Compiler Incompatibilities
    
    
    Debugging requires the latest dbx version
    
    f90/f77 interface is more robust without MP
    If you do mix f90 and f77 MP, then it is safer to make sure everything
    is working as expected without -parallel, then try it with -parallel.
    
    For More Information
    
        See the Fortran f90 README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        Fortran f90 Compiler Limitations


    Fortran f90 Compiler Incompatibilities                     Section 4.9.





    SunSoft WorkShop(TM) Release Notes                              Page 10

    

    4.10. Pascal Compiler Incompatibilities
    
    
    FLEXlm Licensing Incompatibility
    If the server software is FLEXlm 2.6, and the compiler client software
    is FLEXlm 4.1, the local linger file may not be created for the
    compilers. This severely impacts compiler performance.
    
    Symptoms: The linger file is not there. The second and subsequent
    compiles take just as much time as the first compile. With the linger
    file, subsequent compiles would be quicker.
    
    To test, compile and do an ls on the linger file in the /tmp directory:
    
       % ls /tmp/sunpro*
       No match
       % /install_dir/SUNWspro/sparc-S2/bin/cc -c hello.c
       % ls /tmp/sunpro*
       No match
    
    Solution: Be sure to use a FLEX4.x-based license server with the latest
    licensing software. After FLEXlm4.x is in place, the local linger
    mechanism will work.
    
    Library Incompatibility
    Pascal is not compatible with /usr/ucblib/libucb.a on Solaris 2.x. Do
    not link with this library.
    
    For More Information
    
        See the Pascal README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        Pascal Compiler Limitations
    













    Pascal Compiler Incompatibilities                            Section 4.





    SunSoft WorkShop(TM) Release Notes                              Page 11


    5. Known Limitations
    
    
      * Building Limitations
    
    
      * Browsing Limitations
    
    
      * Debugging Limitations
    
    
      * Editing Limitations
    
    
      * File Chooser Limitations
    
    
      * Help Limitations
    
    
      * vi Limitations
    
    
      * TeamWare Limitations
    
    
      * C++ Compiler Limitations
    
    
      * Fortran f90 Compiler Limitations
    
    
      * Pascal Compiler Limitations
    
    
      * LockLint Limitations
    
    

    5.1. Building Limitations
    

    5.2. Browsing Limitations
    
    
    Invalid Queries
    *You cannot query on the C or C++ keyword const as the generated
    database does not contain this information.
    


    Browsing Limitations                                       Section 5.2.





    SunSoft WorkShop(TM) Release Notes                              Page 12

    Browser Hangs 
    *A problem exists where the browser may hang while rebuilding an index
    for a database. When this happens, the Rebuilding Index pop-up window
    stays open indefinitely.
    
    Workaround: Force unlock the database using the following:
    
         % cd <browsing directory&>
         % sbquery -break_lock
    
    
    Graph Displays 
    *The Call Grapher may not correctly display a graph consisting of both
    Fortran and C functions.
    
    See Also
    
        Source Browsing Incompatibilities
    

    5.3. Debugging Limitations
    

    5.4. Editing Limitations
    

    5.5. File Chooser Limitations
    

    5.6. Help Limitations
    

    5.7. vi Limitations
    

    5.8. LockLint Limitations
    
    
    LockLint may experience a ``Broken Pipe'' error and exit the command
    shell. There is no workaround. Restart the analysis.
    
    For More Information
    
        See the LockLint README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        LockLint Incompatibilities
    


    LockLint Limitations                                       Section 5.8.





    SunSoft WorkShop(TM) Release Notes                              Page 13


    5.9. LoopTool Limitations
    
    
    Inner/Outer Loop Times
    Loop times are measured as wallclock elapsed time. If a loop is
    parallelized, it is credited with the elapsed time for all of the
    instances of the loop. Thus, inner parallelized loops may sometimes be
    credited with more elapsed runtime than the outer loop that encompasses
    the parallelized loop. This is not a bug - this is expected behavior! -
    but it can be misleading.
    
    Cutoff
    
    The looptool GUI allows you to specify a ``cutoff.'' This cutoff figure
    should be entered as an integer between 0 and 100. The loops shown in
    the histogram are those that account for cutoff% of the runtime of the
    longest running loop. This is not a bug, but since the looptool GUI
    does not explain this, the cutoff figure may be mysterious at first.
    
    Seconds/Percentage
    
    When the looptool histogram graph is re-drawn, it is automatically set
    to show the ``Seconds'' view of the loop runtimes. This is not a bug,
    but it should be noted that this automatic behavior overrides the
    prevailing setting.
    
    Source directory
    
    If looptool cannot find the source file for a selected loop, it prompts
    you for the source path. Simply choose any file in the source directory
    that contains the source file(s) for your program - it is not necessary
    to select the exact file name.
    
    The demo source files fft.F and vgam.F are found in
    /opt/SUNWspro/iMPact2.0/demo/looptool, but there are no links to these
    two files from the directory /opt/SUNWspro/demo/looptool. If you run
    the looptool demo from the /opt/SUNWspro/demo/looptool directory, then
    when it asks you for the path name for the source files, use the path
    name /opt/SUNWspro/iMPact2.0/demo/looptool.
    
    See Also
    
        LoopTool Incompatibilities
    

    5.10. TeamWare Limitations
    
    
    For More Information
    


    TeamWare Limitations                                      Section 5.10.





    SunSoft WorkShop(TM) Release Notes                              Page 14

        See the TeamWare README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        TeamWare Errata
    

    5.11. C++ Compiler Limitations
    
    
      * Using exceptions and the Analyzer may cause erroneous behavior.
    
    
      * Although abort() should not call static destructors in a program,
        it currently does.
    
    
    For More Information
    
        See the C++ README in the directory /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        C++ Compiler Incompatibilities
    

    5.12. Fortran f90 Compiler Limitations
    
    
      * Implied do I/O lists do not work as expected for unformatted I/O
    
    
      * An explicit-shape dummy array, with bounds that are non-constant
        expressions, displays incorrect bounds within dbx.
    
      * dbx is confused by a function returning CHARACTER*(*) or user-
        defined type.
    
      * dbx uses . notation for component selection instead of %.
    
    
      * Using -Xlist on large programs under Solaris 2.3 core dumps.
    
    
      * To add generated templates, delete the .a file prior to the
        invocation of -xar.
    
      * For arguments, two implicit user-defined conversions are detected.


    Fortran f90 Compiler Limitations                          Section 5.12.





    SunSoft WorkShop(TM) Release Notes                              Page 15

    
    
      * Large applications with -PIC may result in ld errors in the linking
        step.
    
    
    For More Information
    
        See the Fortran f90 README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        Fortran f90 Compiler Incompatibilities
    

    5.13. Pascal Compiler Limitations
    
    
    On sun4m machines running SuperSparc CPU chips predating Fab 3.5, the
    SC4.2 compiler may infrequently abort with the following message:
    
       cg: assertion failed in file raph_sparc.cc at line 1188
       cg: reg rel leaf?
       cg: 1 warnings, 1 errors
    
    If you see this message, contact your SMCC service representative for
    assistance. This problem is the result of a defect in the instruction
    cache of SuperSparc CPU chips predating Fab 3.5. There is no known
    workaround other than disabling the instruction cache.
    
    For More Information
    
        See the Pascal README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        Pascal Compiler Incompatibilities
    











    Pascal Compiler Limitations                                  Section 5.





    SunSoft WorkShop(TM) Release Notes                              Page 16


    6. TeamWare Errata
    
    
      * WorkShop TeamWare online help is under construction. Some
        information may not be complete or tested.
    
      * On-item help has not been implemented for the Alpha release.
    
    
      * Manuals accessible on-line in AnswerBook form are not available.
    
    
      * The WorkShop TeamWare video is not available.
    
    
    
    For More Information
    
        See the TeamWare README in the directory
        /install_dir/SUNWspro/READMEs.
    
    
    See Also
    
        TeamWare Limitations
    


























    TeamWare Errata                                              Section 6.





    SunSoft WorkShop(TM) Release Notes                              Page 17


    7. Documentation Errata
    
    
      * No manuals are available for Alpha, either hard copy or on-line in
        Answerbook or Netscape form.
    
      * The video demonstrations included with the alpha release of
        WorkShop refer to ipe, a development name for WorkShop. If you see
        a reference to ipe, always substitute workshop.
    










































    Documentation Errata                                         Section 7.
