HP OpenVMS Systems Documentation

Content starts here

OpenVMS Version 7.3 Release Notes


Previous Contents Index

6.5.2 The times and clock Functions Are Now AST Reentrant

V7.3

The times and clock functions are now AST reentrant.

Before this change, the times and clock functions belonged to the class of functions that are threadsafe but not AST reentrant. (See the section about multithread restrictions in the Compaq C Run-Time Library Reference Manual for OpenVMS Systems.)

6.5.3 Limitation of Eight Nested Directory Levels Is Lifted (Alpha Only)

V7.3

The Compaq C RTL I/O subsystem is enhanced to remove the restriction of eight nested directory levels for an ODS-5 device. This affects Compaq C RTL functions such as access , mkdir , opendir , rmdir , and stat .

6.5.4 Long OpenVMS Style File Names Accepted as Arguments (Alpha Only)

V7.3

For OpenVMS Alpha Version 7.2, some basic Compaq C RTL I/O functions ( creat , stat , and the functions from the open family of functions) were enhanced to accept long OpenVMS style file names for an ODS-5 device.

For OpenVMS Alpha Version 7.3, all other Compaq C RTL functions, except chdir and the functions from the exec family of functions, are also enhanced to accept long OpenVMS style file names for an ODS-5 device.

6.5.5 Case Preservation Supported in File Names (Alpha Only)

V7.3

The Compaq C RTL is enhanced to support case preservation in file names for an ODS-5 device. This feature must be explicitly enabled by the user. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

6.5.6 Exact Case argv Arguments Supported (Alpha Only)

V7.3

The Compaq C RTL is enhanced to preserve the case of the arguments specified on the command line ( argv arguments). This feature must be explicitly enabled by the user. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

6.5.7 Opening Files for Shared Access

V7.3

The Compaq C RTL is enhanced to open all files for shared access as if the "shr=del,get,put,upd" option was specified in the open* or creat call. This feature must be explicitly enabled by the user. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

6.5.8 Alternate Way to Translate UNIX File Specifications

V7.3

The Compaq C RTL is enhanced to allow the interpretation of the leading part of a UNIX style file specification as either a subdirectory name or a device name.

If a certain feature-test logical name is set, the Compaq C RTL translates a foo/bar UNIX style name to the [.foo]bar OpenVMS style name and not to the foo:bar name, which was the only translation in previous versions of OpenVMS. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

6.5.9 Internationalization Support

V7.3

The name of the save set for the I18N (internationalization) kit for OpenVMS Version 7.3 is VMSI18N073. To install this save set, follow the standard OpenVMS installation procedures, using the save set name as the name of the kit. See OpenVMS Version 7.3 Software Developer Toolkit CD--ROM Guide for the location and name of the save set.

6.5.10 New Functions

V7.3

The Compaq C RTL has added the following functions in OpenVMS Version 7.3:


fchown         hsearch_r
hcreate        link
hcreate_r      utime
hdestroy       utimes
hdestroy_r     writev
hsearch

6.5.11 New LINK Command for Linking /NOSYSSHR (VAX Only)

V7.3

The LINK command for linking /NOSYSSHR on OpenVMS VAX systems is now:


$ LINK/NOSYSSHR PROG, SYS$LIBRARY:DECCRTL.OLB/INCLUDE=(CMA$TIS,CMA$TIS_VEC)/LIB

Previously, the LINK command was:


$ LINK/NOSYSSHR PROG, SYS$LIBRARY:DECCRTL.OLB/INCLUDE=CMA$TIS/LIB

6.5.12 The select Socket Function Returns Failure for Invalid File Descriptor

V7.3

The select function has been corrected to return failure status if either an invalid file descriptor ( errno set to EBADF) or a file descriptor not associated with a socket ( errno set to ENOTSOCK) is found in one of the specified file descriptor sets. In either event, and in conformance with the standard, select now stops processing and performs no operation.

Note that failure with errno set to EBADF is the standard requirement for the select function. Failure with errno set to ENOTSOCK has been added as a more informative value because currently the select function can operate only on sockets.

In previous versions of the C RTL, select set errno to EBADF or ENOTSOCK but ignored invalid file descriptors and file descriptors not associated with sockets and continued to process the remaining valid file descriptors. You can choose this old behavior by defining the logical name DECC$SELECT_IGNORES_INVALID_FD to any value before invoking the application.

6.6 Compaq COBOL Run-Time Library (Alpha Only)

The following sections contain release notes pertaining to the Compaq COBOL Run-Time Library (RTL) for OpenVMS Alpha (formerly named DEC COBOL and DIGITAL COBOL).

6.6.1 New Routines to Support Y2K Intrinsic Functions

V7.3

This RTL now provides support for five new intrinsic functions with four-digit year formats:

YEAR-TO-YYYY
DATE-TO-YYYYMMDD
DAY-TO-YYYYDDD
TEST-DATE-YYYYMMDD
TEST-DAY-YYYYDDD

6.6.2 Performance Improvements

V7.3

The RTL performance is improved for DISPLAY redirected to a file and with programs compiled with /MATH=CIT3 and /MATH=CIT4.

6.6.3 RTL Compatibility with Programs Linked Against Older Version

V7.3

RTL compatibility with programs linked against the V2.4 TIMA RTL and V2.5 RTL has been restored in these areas:

ACCEPT FROM DATE YYYYMMDD
ACCEPT FROM DAY YYYYDDD
/MATH=CIT3 (/SWITCH=DC_USE_CIT3 with V2.4 TIMA)

Any program that uses any of these features and has been linked against the older V2.6 RTLs (DEC$COBRTL V2.6-467 or V2.6-470) must be relinked against DEC$COBRTL V2.6-496 or higher. If you do not relink, the programs fail at run time, possibly with incorrect results. If you have not previously installed COBORTL026 and linked any programs with V2.6, you have no programs to relink. Also, programs that do not use the features previously listed do not need to be relinked.

6.6.4 UNSTRING with /NATIONALITY=JAPAN

V7.3

The RTL now correctly handles UNSTRING with /NATIONALITY=JAPAN and PIC N source strings. Previously, the RTL would incorrectly match a delimiter that started on an even byte offset within a source string.

6.6.5 ON SIZE ERROR Support

V7.3

RTL handling of ON SIZE ERROR is now more compatible with Compaq COBOL for OpenVMS VAX.

6.6.6 READ PRIOR Support

V7.3

The RTL now correctly handles READ PRIOR with RFAs exceeding a signed longword.

6.7 Compaq COBOL Run-Time Library (VAX Only)---New Routines to Support Y2K Intrinsic Functions

V7.3

This release note pertains to the Compaq COBOL Run-Time Library (RTL) for OpenVMS VAX (formerly named VAX COBOL and DIGITAL VAX COBOL). The RTL now provides support for five new intrinsic functions with four-digit year formats:

YEAR-TO-YYYY
DATE-TO-YYYYMMDD
DAY-TO-YYYYDDD
TEST-DATE-YYYYMMDD
TEST-DAY-YYYYDDD

6.8 Compaq Distributed Computing Environment (DCE) for OpenVMS

This section contains important release notes for existing users of Compaq Distributed Computing Environment (DCE) for OpenVMS VAX and OpenVMS Alpha.

Remote procedure call (RPC) functionality was integrated into the operating system beginning with OpenVMS Version 7.2. As of OpenVMS Version 7.2-1, NT Lan Manager (NTLM) security has been available in RPC calls. For more information about RPC functionality, refer to the Compaq DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide.

Caution

Do not install Compaq DCE for OpenVMS Version 1.4 on OpenVMS Version 7.2 or higher. Doing so will overwrite the new RPC files with those from Version 1.4. This problem does not occur with Compaq DCE for OpenVMS Version 1.5 or Version 3.0.

For more information about Compaq DCE for OpenVMS, refer to the following documentation:

  • Compaq DCE for OpenVMS VAX and OpenVMS Alpha Installation and Configuration Guide (order number AA-PV4CD-TE)
  • Compaq DCE for OpenVMS VAX and OpenVMS Alpha Product Guide (order number AA-PV4FD-TE)
  • Compaq DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide (order number AA-QHLZA-TE)

6.8.1 DCE System Management Command Procedure

V7.3

With the update of the DCE RPC files in OpenVMS Version 7.2-1, the following changes have been made to the DCE system management command procedure (SYS$MANAGER:DCE$SETUP.COM):

  • DCE$SETUP once again stops the RPC daemon when shutting down DCE, although SYS$MANAGER:DCE$RPC_SHUTDOWN.COM may still be called in place of DCE$SETUP if DCE is being used in RPC-only mode.
  • DCE components can no longer be started, stopped, or configured without shutting down the RPC daemon.

6.8.2 NTLM Authenticated RPC Functionality Now Available

V7.3

The new authenticated RPC functionality in DCE for OpenVMS Version 3.0, including impersonation and authentication with NT Lan Manager (NTLM) protocol, is included as of OpenVMS Version 7.2-1.

The Compaq Distributed Computing Environment for OpenVMS VAX and OpenVMS Alpha documentation that ships with OpenVMS Version 7.2-1 and Version 7.3 provides information about using NTLM.

6.9 Debugger

This section contains release notes pertaining to the OpenVMS Debugger.

6.9.1 ANALYZE/PROCESS_DUMP Command (Alpha Only)

V7.3

The documentation for the OpenVMS debugger command ANALYZE/PROCESS_DUMP states that if you do not include the /IMAGE_PATH=directory-spec qualifier, the debugger looks for the debugger symbol table (.DSF or .EXE) file in the following directories:

  1. In the directory that contains the dump file
  2. Directory SYS$SHARE
  3. Directory SYS$MESSAGE

Currently, if you do not include the /IMAGE_PATH=directory-spec qualifier, the debugger does not look in the directory that contains the dump file, but rather, in the directory from which you started the debugger.

The workaround is to use the qualifier /IMAGE_PATH=directory-spec to specify the location of the debugger symbol table file.

6.9.2 SET MODULE Command

V7.3

The SET MODULE command can now handle scopes nested to 200 levels. The previous limit was 100 levels.

6.9.3 SET EVENT Ada Command

V7.3

In previous versions of the debugger, the SET EVENT Ada command sometimes did not work, and the event facility remained THREADS. This problem has been corrected.

6.9.4 Enumerated Lists

V7.3

In previous versions of the debugger, matching an enumerated list by using a declaration resulted in an error. For example, the following declaration caused a logic error:


 namespace ns {  enum EE { Me, Myself, I };     }
 main()       {  using ns::EE;
                 EE e = Me;                     }

The logic error is as follows:


  DBG> EXAMINE EE
  %DEBUG-E-INTERR, debugger error in DBGPARSER\PATHNAME_TO_PRIMARY 10...

This problem has been corrected.

6.9.5 Enumeration Literals as Class Members

V7.3

Previous versions of the debugger did not treat C++ enumeration literals as class members. This problem has been corrected. For example, given the following declaration, the debugger will match 'B::red' and 'b.red', and 'p->red':


  struct B { enum colors { yellow, red, green, purple }; } b, *p;

6.9.6 Global Symbol Table Search

V7.3

When debugging C and C++ programs, previous versions of the debugger had a problem when searching the global symbol table, which was caused by incorrect internal assumptions about case. For example:


 DBG> EXAMINE FOO
 %DEBUG-E-NOSYMBOL, symbol 'foo' is not in the symbol table
 DBG> EXAMINE FOO
 X_CXXC_BUGS3560A\foo:   0

This problem has been corrected.

6.9.7 Global Section Watchpoints (Alpha Only)

V7.3

Previous versions of the debugger sometimes had difficulty setting watchpoints on global section variables. This problem has been corrected.

6.9.8 Array Elements Displayed Differently on VAX and Alpha

V7.3

Previous versions of the Alpha debugger displayed FORTRAN arrays in row-major order. This problem has been corrected so that the Alpha debugger now displays FORTRAN arrays in column-major order.

6.9.9 Wrong Address in C++

V7.3

While debugging a C++ program, previous versions of the debugger sometimes have trouble accessing an object. For example:


 DBG> EXAMINE C
 %DEBUG-E-NOACCESSR, no read access to address 000000017AEF3A34

The debugger would sometimes look for a 64-bit address when it should have been looking for a 32-bit address. This problem has been corrected.

6.9.10 Cross-Image Symbol Fixup

V7.3

When using the Version 7.2 Alpha debugger, attempts to examine or evaluate universal data variables sometimes resolved to the wrong address because of a cross-image symbol fixup problem. This problem has been corrected.

6.9.11 Interrupting Program Execution in Compaq DECwindows Motif Interface

V7.3

In Version 7.2 of the debugger, the STOP button in the DECwindows Motif interface and Ctrl/C in screen mode sometimes do not return control to the user. This problem has been corrected.

6.9.12 Nested Anonymous Unions

V7.3

In previous versions of the debugger, nested anonymous unions in C++ led to incorrect symbolizations. For example, the following definition symbolized u.s as 'u. ::s':


   struct U {
       int x;
       union { int l; union { int s; int t; }; };
       } u;

This problem has been corrected.

6.9.13 Anonymous Structs in C

V7.3

C variant_struct is a VAX C extension in Compaq C that allows the creation of anonymous structs. For example, the following definition allows references such as 'u.a':


    union {
        variant_struct {
           int a;
           int b;
        } vs;
    } u;

Previous versions of the debugger did not allow this. This problem has been corrected.

6.9.14 Symbolization of C++ References

V7.3

Previous versions of the debugger symbolized C++ references with an extra period at the end. For example:


    Source:      int &k = i;

    Symbolization:     REFERENCE\k.:   0

This problem has been corrected.

6.9.15 Enumerators as Class Symbols

V7.3

In previous versions of the debugger, the following C++ definition:


  struct C_Outer {
       struct C_Middle2 {
               enum Middle2_E3 {};
       } middle2;
  } c_outer;

led to the following error:


DBG> show SYMBOL/FULL C_Outer
type C_Outer
    struct (C_Outer, 1 component), size: 1 byte
      contains the following members:
%DEBUG-E-INTERR, debugger error in DBGDUMP\DBG$GET_SYMBOL_OFFSET
            or session corruption

This problem has been corrected.

6.9.16 Inline Code

V7.3

Previous versions of the debugger could fail when trying to set a breakpoint within a routine that is inlined within a program that is compiled with the /OPTIMIZED switch. Users would receive an error message similar to the following:


DBG> SET BREAK %LINE 37
%DEBUG-E-INTERR, debugger error
      in DBGEVENT_SEMANTICS\GET_LINE_BREAK_ADDRESSES 40
      or session corruption
%DEBUG-E-CMDFAILED, the SET BREAK command has failed

This problem has been corrected.

6.9.17 Symbols in Nested Ada Packages

V7.3

Previous versions of the debugger failed to find symbols declared within nested Ada packages when the actual package names were used. For example:


DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT
AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT:      0
DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA.POOL.STUB_COUNTER_PUT
%DEBUG-E-NOSYMBOL, symbol 'AETS_SPECIAL_EVENTS_DETECTION_DATA\POOL.STUB_COUNTER_PUT'
is not in the symbol table

This problem has been corrected. For example:


DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT
AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT:      0
DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA.POOL.STUB_COUNTER_PUT
AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT:      0

6.9.18 Symbol Table Errors

V7.3

Previous versions of the debugger had trouble reading certain debugger symbol table (DST) files. For example:


    %DEBUG-E-INTERR, debugger error in DBG$RST_FROM_DST: could not find
    corresponding RST or session corruption

This problem has been corrected.

6.9.19 Debugger Runs out of Memory at Startup

V7.3

Previous versions of the debugger ran out of memory when loading certain large programs. This problem has been corrected.

6.9.20 Nonunique COBOL Symbol Lookups (VAX Only)

V7.3

In previous versions of the debugger, lookups of certain COBOL record components resulted in nonunique symbol errors. For example:


DBG> SET MODULE B_COB
DBG> EXAMINE D00_DIALLING_NO
%DEBUG-I-NOUNIQ, symbol 'D00_DIALLING_NO' is not unique
   record component A_COB\COMMON_DATA_FORMAT_WKSP.D00_CDF.CDF_WKSP.D00_DIALLING_NO
   record component B_COB\COMMON_DATA_FORMAT_WKSP.D00_CDF.CDF_WKSP.D00_DIALLING_NO
%DEBUG-E-REENTER, reenter the command using a more precise pathname

This has been corrected.

6.9.21 Register View

V7.3

Previous versions of the debugger had the following problems associated with the Register view:

  • Debugger errors occurred when selecting registers after the register display list had changed.
  • Use of the Deposit Box shortcut menu caused unaligned register displays.
  • Vertical scrolling sometimes corrupted the righthand side register values.
  • It was difficult to change the floating point radix of register displays.

Some of these problems are internal to the debugger, and some originate in DECwindows Motif. The display problems have been corrected as much as is practical.

New Options on the Radix Submenus

In addition, the Change Radix and Change All Radix submenus (on the Register menu of the Register view) have additional options. On VAX, you can now select f_float for register display. On Alpha systems, you can now select g_float and t_float for register display.


Previous Next Contents Index